4 ms·
I'm getting about 250k sha1 hamming distance calculations per core per second, on an Intel(R) Xeon(R) CPU 3050 @ 2.13GHz (from /proc/cpuinfo). This is a full i
by matta 17y ago
I'm getting about 250k sha1 hamming distance calculations per core per second, on an Intel(R) Xeon(R) CPU 3050 @ 2.13GHz (from /proc/cpuinfo). This is a full implementation... I can just drop in the word list and challenge phrase on game day.
Intel(R) Xeon(R) CPU 5148 @ 2.33GHz gives me 300k/sec.
Anyone else have a quick & dirty benchmark?
- cyberfox 17y agoI'm getting more than 1M SHA1 + Hamming Distance calcs/core/sec on a Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz, and I haven't really optimized beyond the obvious. It's a brutally simple algorithm, really. XOR + bitcount, which only iterates for each 1 bit, so the lower the total hamming #, the faster it finds it. It's in C, so everything works in unsigned long blocks. Compiled with -O3 it's: real 0m0.968s for 1M each on two forked processes, and 80 lines of code.
- cyberfox 17y agoOooog. Boy is my face red. I was recalculating the main SHA1 each time through the loop. A minor refactoring mistake with a major impact... With the base string hash pulled out of the loop, it's looking more like 1.7M SHA1 + HD calcs/core/sec.
- matta 17y agoYeah, mine's Perl, and running on a slower processor, so the difference feels about right. Of course my main calculation is only one line: $hamming_dist = unpack("%160b*", sha1($attempt_phrase) ^ $challenge_sha); :)