[tor-bugs] #33283 [Applications/rbm]: Add caching for the exec function in rbm

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Feb 12 23:00:12 UTC 2020


#33283: Add caching for the exec function in rbm
--------------------------------------------+------------------------------
 Reporter:  boklm                           |          Owner:  boklm
     Type:  task                            |         Status:  needs_review
 Priority:  Medium                          |      Milestone:
Component:  Applications/rbm                |        Version:
 Severity:  Normal                          |     Resolution:
 Keywords:  tbb-rbm, TorBrowserTeam202002R  |  Actual Points:
Parent ID:                                  |         Points:
 Reviewer:                                  |        Sponsor:
--------------------------------------------+------------------------------

Comment (by dcf):

 Replying to [comment:3 boklm]:
 > In branch `bug_33283_v2`, I added two patches.

 I did another profiler run using these two patches.
 https://people.torproject.org/~dcf/graphs/nytprof-rbm-20200212-e4f12abe/
 It looks like the number of calls to `RBM::config_p` are
 [https://people.torproject.org/~dcf/graphs/nytprof-
 rbm-20200212-e4f12abe/#subs_table down a little], from 89 million to 87.5
 million. Still about half of the calls come from `RBM::get_target`.

 I tried to match the conditions of the first profiler run as closely as
 possible. I started after running a full `make testbuild` at
 [https://gitweb.torproject.org/user/dcf/tor-browser-build.git/commit/?h
 =snowflake-turbotunnel&id=b46fd762e0866fe01707e469eb997040f37c16a2
 b46fd762e0866fe01707e469eb997040f37c16a2]. Then I removed only the
 snowflake output: `mv out/snowflake out.snowflake.bak`. Then I ran
 {{{
 # time perl -d:NYTProf rbm/rbm build snowflake --target testbuild --target
 torbrowser-linux-x86_64
 Created /root/tor-browser-build/tmp/rbm-kPAVL/snowflake-
 5eff0f3ba406.tar.gz
 Using file /root/tor-browser-build/out/container-image/container-
 image_wheezy-amd64-f2bcf2cde274.tar.gz
 Using file /root/tor-browser-build/out/go/go-1.12.13-6f6dc9.tar.gz
 Using file /root/tor-browser-build/out/uniuri/uniuri-8902c56451e9-linux-
 x86_64-952cce.tar.gz
 Using file /root/tor-browser-build/out/goptlib/goptlib-v1.1.0-linux-
 x86_64-b9f8dc.tar.gz
 Using file /root/tor-browser-build/out/pion-webrtc/pion-webrtc-
 77c6e3b827e4-linux-x86_64-b7f872.tar.gz
 Using file /root/tor-browser-build/out/quic-go/quic-go-907071221cf9-linux-
 x86_64-7136df.tar.gz
 Build log: /root/tor-browser-build/logs/snowflake-linux-x86_64.log

 real    46m42.061s
 user    43m9.134s
 sys     3m43.336s
 }}}

 I'll re-do the experiment without the two bug_33283_v2 patches, to verify
 that it's a fair comparison.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33283#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list