RT benchmark
Core2Quad Q9300 2.5 GHz (one 32 bit thread):
Auto selects scalar, SSE2, SSSE3 (only for SHA1), AVX, or AVX_XOP.
Core2Quad Q9300 2.5 GHz (one 32 bit thread):
Cisco 5.64 MLinks/sec 7.48 MReduxes/sec 25.30 MHashes/sec [3xSSE2]
MD5 5.65 MLinks/sec 7.35 MReduxes/sec 26.13 MHashes/sec [3xSSE2]
Double Binary MD5 4.57 MLinks/sec 7.36 MReduxes/sec 12.95 MHashes/sec [3xSSE2]
Double MD5 4.54 MLinks/sec 7.40 MReduxes/sec 12.22 MHashes/sec [3xSSE2]
MD4/NTLM 6.07 MLinks/sec 7.40 MReduxes/sec 39.63 MHashes/sec [4xSSE2]
SHA1 4.54 MLinks/sec 8.00 MReduxes/sec 12.79 MHashes/sec [1xSSSE3]
MySQLSHA1/MySQL5 3.34 MLinks/sec 7.92 MReduxes/sec 6.35 MHashes/sec [1xSSSE3]
There's a simple speed up by just commenting out code in keyspace.cpp for ((m_charaterEncoding & (CE_UTF16_LE | CE_UTF16_BE)) != 0) and ((m_charaterEncoding & (CE_UTF32_LE | CE_UTF32_BE)) != 0) but then NTLM will break. Next update will have a few changes for speeding up the reduction function such as three classes keyspace8, keyspace16, and keyspace32. Also needs variable length character support for UTF-8 and UTF-16. The key space used for benchmarking is loweralpha#1-7. This code can use key spaces such as Omni-6.