|
|
Message-ID: <20150915034704.GB319@openwall.com>
Date: Tue, 15 Sep 2015 06:47:04 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: Judy array
On Tue, Sep 15, 2015 at 12:32:42AM +0300, Solar Designer wrote:
> Oh, as a minor evolutionary change to what we have now, we should in
> fact decouple the bitmap lookups from actually using those looked up
> values. Here's how I had it written as an experiment in January 2012:
>
> for (index = 0; index < crk_key_index; index += 2) {
> int hash2 = salt->index(index + 1);
> int hash1 = salt->index(index);
> unsigned int b1 = salt->bitmap[hash1 / (sizeof(*salt->bitmap) * 8)];
> unsigned int b2 = salt->bitmap[hash2 / (sizeof(*salt->bitmap) * 8)];
> if (b1 & (1U << (hash1 % (sizeof(*salt->bitmap) * 8)))) {
> [...]
> }
> if (b2 & (1U << (hash2 % (sizeof(*salt->bitmap) * 8)))) {
> [...]
> }
> }
>
> and IIRC it actually ran significantly faster, but I never committed
> that code version.
I was testing with LM hashes at the time. The speedup might have been
in part because the bitslice DES get_hash*() are quite slow (they have
to extract and merge the individual bits). Also, we didn't have
"--fork" yet, so this change made use of the system's multiple memory
channels - but when I am running "--fork=8" now, I am already using them
in that way.
Whatever the reasons were, I am not seeing a speedup from such changes
for raw-md5 now. Not even on the same machine I was using back then.
Alexander
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.