Mrtg motoring of my box clearly shows what's going on with throughput and cpu load. Thus I'm bothering this mailing list with more enhanced multithread capabilities, taking better advantage from multiple cores.
Two ideas :run multiple instances (and use family option), and let each instance handle ($X) amount of traffic. Since TOR doesn't thread itself very well, that's one way to do it (sort of like what you've got to do with Snort).
(or)run tor using hardware crypto acceleration (it's sort-of supported, usually via patches to OpenSSL)
Side note to developers .. why not create one parent thread and ($n) worker threads (like Apache, etc. does) to solve this?