Try building without the no-asm configuration option.
Pauli
On 21/1/21 6:18 am, Dan Heinz wrote:
Hello,
I’m building openssl 1.1.1g on multiple platforms and I found that the
rsa speed tests are significantly slower in my build than on the other
OS platforms (Linux and macOS).
I downloaded a Windows 64-bit binary distribution of openssl from
https://kb.firedaemon.com/support/solutions/articles/4000121705
<https://kb.firedaemon.com/support/solutions/articles/4000121705> as
they include the configure parameters used for their build.
I ran the speed rsa tests on their openssl Windows 64-bit binary and
they were much faster than the tests on my build.
Here’s some output.
My openssl binary executed with openssl speed rsa:
Doing 2048 bits private rsa's for 10s: 409 2048 bits private RSA's in 10.00s
Doing 2048 bits public rsa's for 10s: 15663 2048 bits public RSA's in 10.02s
Doing 4096 bits private rsa's for 10s: 60 4096 bits private RSA's in 10.00s
Doing 4096 bits public rsa's for 10s: 4316 4096 bits public RSA's in 10.02s
OpenSSL 1.1.1g 21 Apr 2020
built on: Wed Jan 20 18:38:14 2021 UTC
options:bn(64,64) rc4(int) des(long) aes(partial) blowfish(ptr)
compiler: cl /Fdossl_static.pdb /Gs0 /GF /Gy /MT /Zi /W3 /wd4090
/nologo /O2 -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_NO_DEPRECATED
sign verify sign/s verify/s
rsa 2048 bits 0.024450s 0.000639s 40.9 1563.9
rsa 4096 bits 0.166667s 0.002321s 6.0 430.9
Here is the downloaded binary from
https://kb.firedaemon.com/support/solutions/articles/4000121705
<https://kb.firedaemon.com/support/solutions/articles/4000121705>:
Doing 2048 bits private rsa's for 10s: 1622 2048 bits private RSA's in
10.02s
Doing 2048 bits public rsa's for 10s: 72622 2048 bits public RSA's in 10.00s
Doing 4096 bits private rsa's for 10s: 255 4096 bits private RSA's in 10.03s
Doing 4096 bits public rsa's for 10s: 18976 4096 bits public RSA's in 10.00s
OpenSSL 1.1.1j-dev xx XXX xxxx
built on: Wed Jan 6 11:11:12 2021 UTC
options:bn(64,64) rc4(int) des(long) aes(partial) idea(int) blowfish(ptr)
compiler: cl /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo
/O2 -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_NO_DEPRECATED
sign verify sign/s verify/s
rsa 2048 bits 0.006175s 0.000138s 161.9 7262.2
rsa 4096 bits 0.039338s 0.000527s 25.4 1897.6
That is a little over 4 times faster.
Here are my configure parameters:
Configure VC-WIN64A no-shared no-asm no-idea no-mdc2 no-rc5 no-ssl2
no-ssl3 no-zlib no-comp no-pinshared no-ui-console
-DOPENSSL_NO_DEPRECATED --api=1.1.0
And their configure parameters:
Configure VC-WIN64Ano-asm no-ssl3 no-zlib no-comp no-ui-console
--api=1.1.0 --prefix="%openssl-dst%" --openssldir=ssl
-DOPENSSL_NO_DEPRECATED
Both my build and theirs are built with Visual Studio 2015.
Any ideas why my build is so much slower? Is there something in my
configuration that might cause this?