
On Fri, Jan 24, 2014 at 01:27:54PM -0500, Nick Mathewson wrote:
So, others have answered pretty well, but I'll add a little too.
Right now, Tor uses multiple cores to parallelize circuit extension handshakes, but not much else. I'm hoping that in future versions we can make serious progress on getting more of our crypto parallelized[*] to better take advantage of more cores, but for right now, NumCPUs is a good thing, but is not actually adequate for evenly dividing your Tor process's CPU load among a larger number of cores.
[*] See eg discussion at https://trac.torproject.org/projects/tor/wiki/org/projects/Tor/Multithreaded... . The design there is still sound, but it needs some C hackers with spare time.
The design is solid, and a respectable chunk of it got written, but it took longer than I thought and I got distracted with other foreground-priority things at some point, IIRC. I should rebase it against current master and get back to it at some point. -- Andrea Shepard <andrea@torproject.org> PGP fingerprint (ECC): BDF5 F867 8A52 4E4A BECF DE79 A4FF BC34 F01D D536 PGP fingerprint (RSA): 3611 95A4 0740 ED1B 7EA5 DF7E 4191 13D9 D0CF BDA5