Skip to content
Snippets Groups Projects
  1. Jun 02, 2014
    • Nick Mathewson's avatar
    • Nick Mathewson's avatar
      Avoid needless router_dir_info_has_changed from router_set_status · ad8977e3
      Nick Mathewson authored
      On some profiles of Andrea's from #11332, I found that a great deal
      of time can still be attributed to functions called from
      update_router_have_minimum_dir_info().  This is making our
      digestmap, tor_memeq, and siphash functions take a much bigger
      portion of runtime than they really should.
      
      If we're calling update_router_have_minimum_dir_info() too often,
      that's because we're calling router_dir_info_changed() too often.
      And it looks like most of the callers of router_dir_info_changed()
      are coming as tail-calls from router_set_status() as invoked by
      channel_do_open_actions().
      
      But we don't need to call router_dir_info_changed() so much!  (I'm
      not quite sure we need to call it from here at all, but...) Surely
      we don't need to call it from router_set_status when the router's
      status has not actually changed.
      
      This patch makes us call router_dir_info_changed() from
      router_set_status only when we are changing the router's status.
      
      Fix for bug 12170.  This is leftover from our fix back in 273ee3e8
      in 0.1.2.1-alpha, where we started caching the value of
      update_router_have_minimum_dir_info().
      ad8977e3
  2. May 29, 2014
  3. May 27, 2014
  4. May 23, 2014
  5. May 22, 2014
  6. May 21, 2014
  7. May 20, 2014
  8. May 17, 2014
  9. May 16, 2014
Loading