[tor-bugs] #6816 [Tor]: {connection_or, channel}_flush_from_first_active_circuit() should pick a new circuit for each cell
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Wed Oct 3 18:16:04 UTC 2012
#6816: {connection_or,channel}_flush_from_first_active_circuit() should pick a new
circuit for each cell
-----------------------+----------------------------------------------------
Reporter: andrea | Owner:
Type: defect | Status: needs_review
Priority: normal | Milestone: Tor: 0.2.4.x-final
Component: Tor | Version: Tor: 0.2.4.2-alpha
Keywords: tor-relay | Parent:
Points: | Actualpoints:
-----------------------+----------------------------------------------------
Comment(by andrea):
Replying to [comment:7 nickm]:
> * Please let me know once you've got profiling result.
Report from perf is attached; that's from a two hour run as a middle relay
with 120 kB/sec bandwidth burstable to 160, which used about 30 s of CPU
time in total. It looks pretty dominated by crypto operations; summing
the obviously cryptographic OpenSSL/bignum operations gives me about 95%.
The heartbeat output said I got about 20M through it during the test run,
so that makes approx. 41,000 cells, so on this hardware we're looking at
about 700 microseconds average CPU required per cell, amortizing startup
costs. I think we're probably around 35 microseconds per cell for non-
cryptographic processing. It does look like malloc is our single most
expensive non-cryptographic operation, so your points about mallocing
small blocks may be relevant here.
Think I should do a test run with master for comparison?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6816#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list