I think an easy way to improve this is by caching the result from the exec() template function. We use it for example with the line version: '[% c("abbrev") %]' which runs something like exec("git log -1 --format=%h"), which then runs a git checkout before running the git log command. The version value is used in filenames, and build_id, which are then used in a lot of places, but with no caching we end up doing a lot of calls the same git checkout and git log commands. The switch to pion which added a lot of go projects each with their git repository probably made this issue more visible.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
When running the command rbm/rbm showconf tor-browser filename --target torbrowser-linux-x86_64 --target alpha on my machine, without those patches it takes 3m25. With the first patch, it now takes 2m49, and 1m59 with both patches.
Trac: Status: new to needs_review Keywords: N/Adeleted, TorBrowserTeam202002R added
When running the command rbm/rbm showconf tor-browser filename --target torbrowser-linux-x86_64 --target alpha on my machine, without those patches it takes 3m25. With the first patch, it now takes 2m49, and 1m59 with both patches.
For me the times are 5m28s with no patches, and 3m50s with both patches. This is with having run make fetch beforehand.
# git log --oneline | head -n 1c27a4f7 Pick up tor-browser -build2# time rbm/rbm showconf tor-browser filename --target torbrowser-linux-x86_64 --target alphator-browser-9.5a5-linux-x86_64-0e25a4real 5m28.603suser 4m53.818ssys 0m38.330s# cd rbm# git remote add boklm https://git.torproject.org/user/boklm/rbm.git# git fetch boklm# git checkout bug_33283_v2# cd ..# time rbm/rbm showconf tor-browser filename --target torbrowser-linux-x86_64 --target alphator-browser-9.5a5-linux-x86_64-0e25a4real 3m50.601suser 3m38.372ssys 0m13.379s
I tried to match the conditions of the first profiler run as closely as possible. I started after running a full make testbuild at b46fd762e0866fe01707e469eb997040f37c16a2. Then I removed only the snowflake output: mv out/snowflake out.snowflake.bak. Then I ran
I'll re-do the experiment without the two bug_33283_v2 patches, to verify that it's a fair comparison.
UPDATE: here is the verification. As in my email, without the two patches, there are about 89 million calls to RBM::config_p (89245624). It took about 10 minutes longer.
Okay, the patches look good. I merged the branch with master and I picked it up on tor-browser-build with commit ffc6f844dbbf1985f5d10bd8dab2b15d9c8c2e75.
Trac: Resolution: N/Ato fixed Status: needs_review to closed