Tor is the subject of research I am doing at the moment and I am pretty sure it does use parallelism however I am having trouble figuring out where and how. I have not found much info on this subject.

Does it utilize many processors to calculate the routing of the anonymous relays? Or to encrypt the multiple layers needed for anonymity?

1 Answer 1


(I've not been involved with the Tor source, so someone else may correct me or explain better..)

As far as I understand, setting up connections and circuits happens on the main thread, but peeling off onion layers can be offloaded to other threads.

For where and how, look for the logic in src/or/cpuworker.c and the threading implementation in src/common/compat.c

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .