No AES-NI engine detected
Running master on a CPU identifying itsel (/proc/cpuinfo) as
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
with openssl-1.0.1 (./Configure --prefix=$HOME/usr shared linux-x86_64) I had expected tor to tell me that it found an AES-NI engine. (This would've been wrong, since 1.0.1 doesn't have AES-NI as an engine, I learned later.)
This made Nick make a patch (branch openssl101_aes_ctr in his repo) which shows interesting benchmarks.
src/test/bench cell_ops, run three times on virtually unloaded machine, output from the third run:
On openssl101_aes_ctr w/ openssl-1.0.1: Inbound cells: 629.38 ns per cell. (1.24 ns per byte of payload) Outbound cells: 693.97 ns per cell. (1.36 ns per byte of payload)
On openssl101_aes_ctr w/ openssl-0.9.8k: Inbound cells: 8823.04 ns per cell. (17.33 ns per byte of payload) Outbound cells: 4816.15 ns per cell. (9.46 ns per byte of payload)
On master w/ openssl-1.0.1: Inbound cells: 13861.66 ns per cell. (27.23 ns per byte of payload) Outbound cells: 7436.42 ns per cell. (14.61 ns per byte of payload)
On master w/ openssl-0.9.8k: Inbound cells: 8863.88 ns per cell. (17.41 ns per byte of payload) Outbound cells: 5265.16 ns per cell. (10.34 ns per byte of payload)