Intel(R) Xeon(R) CPU 5148 @ 2.33GHz gives me 300k/sec.
Anyone else have a quick & dirty benchmark?
21–28 of 28 posts
Intel(R) Xeon(R) CPU 5148 @ 2.33GHz gives me 300k/sec.
Anyone else have a quick & dirty benchmark?
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?
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.
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?
I'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 eac…
With the base string hash pulled out of the loop, it's looking more like 1.7M SHA1 + HD calcs/core/sec.
Earlier quoted context omitted.
I'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 eac…
Oooog. 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.
Of course my main calculation is only one line:
$hamming_dist = unpack("%160b*", sha1($attempt_phrase) ^ $challenge_sha);
:)
Earlier quoted context omitted.
This isn't actually correct, is it? Assuming an average 6-letter word length, there are about 10^67 valid combinations that your iterate_all() can go through: (((2^6) * 1000) ^ 12) * (94 ^ 5) = 3.5 * 10^67 Since this is much larger than the total hash space (2^160 = 10^48), you can hope you'll get a collision after the number of tries equal to half of the hashspace (10^48 / 2). That means you'll have to generate 10^4…
Weeell we have 20,023 computers (that fluctuates a tad). That's probably about 30,000 cores in the end. I cant iterate the whole lot - but I can cover a substantial portion more of the keyspace in 5 mins than most could in the 30hrs. I bet 5 minutes will easily get me damn close :)
You won't even cover a fraction of a percent of the keyspace before the sun burns out.
Earlier quoted context omitted.
I've started mine in erlang. I'm going to run 10 dollars worth of ec2 time and see how far I get.
I've got mine in C. I probably won't run it, just wrote it for fun. Honestly, if you were thinking of spending a cent on this competition, I think you'd get a better ROI buying a SuperLOTTO ticket.