> 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'. > 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? > Note that for the i5-560M the unpatched 64bit version still outperforms > the patched 32bit version.... > > How can the sha256 patch be applied to the 64bit code base? You have to realize that there is limit for performance. I'm not actually asserting that it's reached in SHA256 case, but there is no doubt that 64-bit code is [much] closer to it. This means that you can't expect comparable improvement coefficients (for integer-only code). On side note. You mentioned that you tested 1.0.0. It should be noted that 1.0.1 has updated sha512-x86_64 module that performs ~15% better on Nehalem [and Atom], nominally better on other Intel CPUs. There also is simple way to boost performance specifically on Sandy Bridge. There also is pending submission from Intel that features SIMD operation for X[] calculations... ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
