Files
tor/changes
Nick Mathewson ad8977e394 Avoid needless router_dir_info_has_changed from router_set_status
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 273ee3e81
in 0.1.2.1-alpha, where we started caching the value of
update_router_have_minimum_dir_info().
2014-06-02 00:45:15 -04:00
..
2013-10-09 09:43:54 -04:00
2014-02-11 18:57:38 -05:00
2013-03-26 20:29:41 -07:00
2013-03-26 22:18:32 -04:00
2013-03-29 12:17:05 -04:00
2013-02-08 16:46:50 -05:00
2013-03-11 12:34:14 -04:00
2013-02-19 15:02:08 -05:00
2013-03-19 17:00:40 -04:00
2013-04-03 09:32:21 -04:00
2013-04-24 22:03:02 -04:00
2013-02-27 19:39:57 -05:00
2013-03-28 09:33:24 -04:00
2013-06-12 21:11:49 -04:00
2013-07-03 12:01:37 -04:00
2013-08-21 11:29:19 -04:00
2014-02-07 10:38:00 -05:00
2013-10-02 22:20:18 -04:00
2013-10-08 12:06:06 -04:00
2013-11-11 10:49:44 -05:00
2013-12-22 17:19:22 -05:00
2013-12-23 19:00:46 -05:00
2014-02-06 16:09:12 -05:00
2014-02-14 23:51:14 -05:00
2014-02-17 23:06:18 +00:00
2014-04-08 11:42:07 -04:00
2013-03-10 23:38:18 -04:00
2013-10-08 16:06:36 -04:00