Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 06 Jan 2012 01:33:33 +0100
From: magnum <>
Subject: Re: MD5 intrinsics compile-time condition

> I just checked in (to github) a patch that adds two make targets
> (testpara and testpara32) for determining the best SSE_PARA values for a
> particular system.
> It's a hack but it seems pretty accurate.

Some notes about this hack, there's lots of room for improvement:

1. It does five runs and use a simple average of the results. On most
computers I've run it, this is not needed - but on a Q9550 (Mint 12
desktop, no load) the figures (for more or less any JtR benchmark)
fluctuates wildly. Sometimes so much, I have to re-run testpara anyway
(three runs may show a 50% drop compared to the other two, for no
obvious reason).

2. It does not pick a higher PARA unless the gain was 5% or more. This
might be too conservative. The rationale was that a too high para (if
using the results on a different system) usually does much more harm
than a slightly too low.

3. Obviously, you can put icc or clang in the CC line on top of Makefile
with no further tweaks:

model name	: Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz
gcc version: clang (clang version 2.9 (tags/RELEASE_29/final))
Best paras:
  raw-MD4: 4  (36374K c/s)
crypt-MD5: 4  (22646 c/s)
 raw-SHA1: 2  (11014K c/s)


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.