Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 7 Jul 2012 16:57:08 -0500
From: "jfoug" <>
To: <>
Subject: MD5 timings (x96-32)

We may have some slight miss configuration within our x86-*.h arch headers.


Here are some timings (older core2)


x86-any build.  (non-omp)

  #define MD5_ASM 1

  #define MD5_X2  0

  #define MD5_IMM 1

Benchmarking: FreeBSD MD5 [32/32]... DONE

Raw:    6799 c/s real, 6808 c/s virtual


generic build

  #define MD5_ASM 0

  #define MD5_X2  1

  #define MD5_IMM 1

Benchmarking: FreeBSD MD5 [32/32 X2]... DONE

Raw:    8245 c/s real, 8245 c/s virtual


That is about 18% faster for generic, using non-asm, X2 MD5.


Dynamic is also 5 to 15% faster for the generic build.


Now, this may not 'translate' properly for the x86-any make target, since
that build type usually is reserved only be for pre-MMX systems, and those
systems, the asm likely IS faster.  However, it is NOT always the case.


Also, I think we should make changes in the x86-mmx.h and x86-sse.h, to have
these build types use MD5_X2 and not asm.  The MD5crpt (and MD5aCrypt) would
be using non-asm here.  The CPU would likely be 'new enough' that the X2 is
faster.  The dynamic DOES use MD5_Body, and will honor X2 if it is built
that way.  This will certainly speed up dynamic on the formats which have to
switch to non-SSE, or which are full time non-SSE.


We might even be able to do it with 1 include file (x86-mmx.h and x86-zny.h
and x86-sse.h), if more build targets are made.  That way the user (savvy
user) would be able to pick and choose his build target.  Right now we force
any non-OMP build to use the asm.


This was what was giving me the 6-13% slowdown for some of the dynamic
format, in the sse2 build, vs the generic build.  It does not show up as a
difference (to the negative), for md5Crypt, due to that format using SSE
instructions.  But it certainly shows up big time when the x86-any target is
compared on this system, to the generic.



Content of type "text/html" skipped

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.