|
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.