Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#4454 closed enhancement (implemented)

Make relay-side crypto benchmarks enabled and more useful

Reported by: nickm Owned by:
Priority: Medium Milestone: Tor: 0.2.3.x-final
Component: Core Tor/Tor Version:
Severity: Keywords: tor-relay
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Right now there's no way to run the benchmarks without editing test.c, so people don't do it.

Instead, let's make the benchmarks their own executable, so that we can actually make smart decisions about implementation choices.

Child Tickets

Change History (5)

comment:1 Changed 9 years ago by nickm

Status: newneeds_review

See branch "benchmark" in my public repository.

Preliminary results for me on openssl 1.0.0e as patched by Fedora 15, running on a Core2 Quad Q8200 suggest:

  • Running openssl 1.0.0's AES_ operations manually seems to be about 5% faster than running them via EVP_. Oops!
  • For the kind of cell crypto we seem to do, Openssl 1.0.0's AES_ctr128 implementation seems about 5% better than the counter implementation we've got now. Oops!


  • It sure might have been a good to use the 'recognized' field to avoid doing SHA1; it makes our middleman cell crypto performance about as fast as our AES performance.

comment:2 Changed 9 years ago by Sebastian

We should have a way to test crypto engines too, if available. That's currently not supported from the bench tool.

Having gamamb run the crypto test on a (loaded, bleh) system gave inconclusive results about whether AES_ or EVP_ is faster, with a slight edge towards EVP being faster.

comment:3 Changed 9 years ago by nickm

Resolution: implemented
Status: needs_reviewclosed

Merging this as "a good start".

comment:4 Changed 8 years ago by nickm

Keywords: tor-relay added

comment:5 Changed 8 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.