[tor-bugs] #28481 [Core Tor/Tor]: Tor's startup time is getting slower on Android

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Dec 12 21:06:52 UTC 2018


#28481: Tor's startup time is getting slower on Android
-------------------------------------------------+-------------------------
 Reporter:  akwizgran                            |          Owner:  (none)
     Type:  defect                               |         Status:  new
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.0.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.3.4.9
 Severity:  Normal                               |     Resolution:
 Keywords:  android startup performance          |  Actual Points:
  controller                                     |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by nickm):

 Hm, interesting.  That result suggests that the problem is indeed CPU-
 based, if it scales that cleanly with with a faster CPU.  TBH that wasn't
 what I had expected; I had expected something far more complicated.

 In this case, a CPU profile would probably be useful.

 I've done a quick-and-dirty startup profile to try to track this down,
 using a hack branch called "exit_immediate" in my public repository.  It
 seems that the biggest offender in 0.3.5 is stuff under
 "router_reload_consensus_networkstatus".  It looks like we're spending our
 time re-parsing and re-validating stuff from storage.

 Can you confirm that your results are significantly slow if Tor starts
 with cached-* files?

 We already made some improvements here in 0.4.0, with #27225.  I think we
 can do better, though.

 I've made some callgraphs with perf, and I'm attaching them here. To make
 them I used my "exit_immediate" branch with:
 {{{
 perf record -g --call-graph dwarf ./src/app/tor -ExitImmediatly 1
 perf report -g --stdio > filename.callgraph
 }}}

 If my hunch is right, then we want to be looking for savings opportunities
 in the "with-cache" case for 0.4.0.

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


More information about the tor-bugs mailing list