← Back to team overview

ius-coredev team mailing list archive

Re: [Question #225826]: AES-NI support for OpenSSL

 

Question #225826 on IUS Community Project changed:
https://answers.launchpad.net/ius/+question/225826

Jason Campbell posted a new comment:
You're right, sorry.  Neither of those tests was using AES-NI, getting
much better numbers now.  Here are the updated numbers I'm getting:

RHEL:

$ openssl speed -evp aes-256-cbc
Doing aes-256-cbc for 3s on 16 size blocks: 111448922 aes-256-cbc's in 2.99s
Doing aes-256-cbc for 3s on 64 size blocks: 30659103 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 256 size blocks: 7787212 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 1959846 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 244826 aes-256-cbc's in 2.99s
OpenSSL 1.0.0-fips 29 Mar 2010
built on: Wed Aug 15 12:48:02 EDT 2012
options:bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     596382.19k   654060.86k   664508.76k   668960.77k   670774.11k

IUS:

$ openssl speed -evp aes-256-cbc
Doing aes-256-cbc for 3s on 16 size blocks: 111595718 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 64 size blocks: 29942257 aes-256-cbc's in 2.99s
Doing aes-256-cbc for 3s on 256 size blocks: 7799239 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 1024 size blocks: 1958848 aes-256-cbc's in 3.00s
Doing aes-256-cbc for 3s on 8192 size blocks: 239345 aes-256-cbc's in 3.00s
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Feb 13 11:31:32 EST 2013
options:bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-256-cbc     595177.16k   640904.50k   665535.06k   668620.12k   653571.41k


So to summarise:

Without AES-NI:

RHEL: openssl speed -engine aesni aes-256-cbc
aes-256 cbc 74433.36k 80299.29k 81754.11k 172597.93k 173405.53k
IUS: openssl speed aes-256-cbc
aes-256 cbc 74276.77k 78848.39k 81812.65k 173653.67k 171010.73k

With AES-NI:

RHEL: openssl speed -evp aes-256-cbc
aes-256-cbc 596382.19k 654060.86k 664508.76k 668960.77k 670774.11k
IUS: openssl speed -evp aes-256-cbc
aes-256-cbc 595177.16k 640904.50k 665535.06k 668620.12k 653571.41k

So about a 4-8x improvement in throughput depending on block size.
However, the tests are still the same between the RHEL version and IUS,
so this bug can stay closed.

-- 
You received this question notification because you are a member of IUS
Core Development, which is an answer contact for IUS Community Project.