Jan Just Keijser wrote:
Andy Polyakov wrote:
I
modified the 'Configure' script to allow the compilation of a 32bit
version of openssl *with* the assembly routines.

What does it mean? Configure supports 32-bit builds *with* assembly as
it is. To build 32-bit version on 64-bit Linux, run './Configure
linux-elf -m32'.

ah, I did not know about that option - I was looking for a specific ./Configure target ...

The results for this
version are on various Intel CPUs

Core2 E6550 (Conroe):  22 - 32 % speed up
Xeon E5440 (Harpertown): 24 - 33% speed up
Xeon X5660 (Westmere-EP): 19 - 27% speed up
i5-560M (Arrandale): 18 - 23 % speed up

What are the ranges? If we assume that largest coefficient is for
largest block size, then these are too high. What is the base line
exactly? Is it possible that you compare to compiler-generated code?
here are the raw 'openssl speed sha256' results with and without the patch; all I did was

 tar xzf openssl-1.0.0j.tar.gz
 cd openssl-1.0.0j.tar.gz
 <apply patch or not>
 ./Configure linux-elf -m32
 make
 cd apps
 ./openssl speed -evp sha256 | grep ^sha
 ./openssl speed sha256 | grep ^sha

This result is on a Core2duo T9300 laptop:
                     no patch:
sha256-evp 15721 42178 84527 113902 127184 sha256 26851 58249 97794 119593 127668 patch: sha256-evp 18178 51411 108741 150649 169099 sha256 34380 76627 130753 159497 171054 116% 122% 129% 132% 133% 128% 132% 134% 133% 134% So I'm seeing an increase in performance ranging from 16 to 34% for this (artificial) test. I'm seeing similar results on an AMD Opteron 2372HE and Opteron 6140 (non Bulldozer).

Let me know if you would like to see another test (including commandlines, please ;)); and how should I inspect the generated code?

and as a follow up to my previous results: I just reran the test with openssl 1.0.1c on the same hardware. The existing sha256 code in 1.0.1c seems more efficient than 1.0.0j, so the performance gain is now between 12 % and 21 % - is this more inline with what you expected?

cheers,

JJK / Jan Just Keijser

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to