Skip to content

Instantly share code, notes, and snippets.

@lbschenkel
Last active January 10, 2016 21:27
Show Gist options
  • Save lbschenkel/f989b6c9c18dcd6bd3e9 to your computer and use it in GitHub Desktop.
Save lbschenkel/f989b6c9c18dcd6bd3e9 to your computer and use it in GitHub Desktop.
openwrt-openssl-speed
linux-generic-openwrt:
root@OpenWrt:~# openssl version -a
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
platform: linux-generic-openwrt
options: bn(64,32) rc4(ptr,char) des(idx,cisc,2,long) blowfish(ptr)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DTERMIOS -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -fomit-frame-pointer -Wall
OPENSSLDIR: "/etc/ssl"
root@OpenWrt:~# openssl speed sha1 sha256 aes-128-cbc rsa2048
Doing sha1 for 3s on 16 size blocks: 684563 sha1's in 2.92s
Doing sha1 for 3s on 64 size blocks: 492387 sha1's in 2.94s
Doing sha1 for 3s on 256 size blocks: 264644 sha1's in 2.96s
Doing sha1 for 3s on 1024 size blocks: 92015 sha1's in 2.94s
Doing sha1 for 3s on 8192 size blocks: 13080 sha1's in 2.95s
Doing sha256 for 3s on 16 size blocks: 752673 sha256's in 2.94s
Doing sha256 for 3s on 64 size blocks: 455273 sha256's in 2.97s
Doing sha256 for 3s on 256 size blocks: 205863 sha256's in 2.90s
Doing sha256 for 3s on 1024 size blocks: 65445 sha256's in 2.94s
Doing sha256 for 3s on 8192 size blocks: 8506 sha256's in 2.82s
Doing aes-128 cbc for 3s on 16 size blocks: 3839426 aes-128 cbc's in 2.85s
Doing aes-128 cbc for 3s on 64 size blocks: 1013596 aes-128 cbc's in 2.65s
Doing aes-128 cbc for 3s on 256 size blocks: 289439 aes-128 cbc's in 2.91s
Doing aes-128 cbc for 3s on 1024 size blocks: 69397 aes-128 cbc's in 2.74s
Doing aes-128 cbc for 3s on 8192 size blocks: 8941 aes-128 cbc's in 2.83s
Doing 2048 bit private rsa's for 10s: 139 2048 bit private RSA's in 9.54s
Doing 2048 bit public rsa's for 10s: 5168 2048 bit public RSA's in 9.50s
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
options:bn(64,32) rc4(ptr,char) des(idx,cisc,2,long) aes(partial) blowfish(ptr)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DTERMIOS -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -fomit-frame-pointer -Wall
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha1 3751.03k 10718.63k 22888.13k 32048.76k 36322.49k
aes-128 cbc 21554.67k 24479.30k 25462.67k 25935.23k 25881.51k
sha256 4096.18k 9810.60k 18172.73k 22794.45k 24709.63k
sign verify sign/s verify/s
rsa 2048 bits 0.068633s 0.001838s 14.6 544.0
linux-ppc-openwrt:
root@OpenWrt:~# openssl version -a
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
platform: linux-ppc-openwrt
options: bn(64,32) rc4(ptr,char) des(idx,risc1,2,long) blowfish(idx)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DB_ENDIAN -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM
OPENSSLDIR: "/etc/ssl"
root@OpenWrt:~# openssl version -a
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
platform: linux-ppc-openwrt
options: bn(64,32) rc4(ptr,char) des(idx,risc1,2,long) blowfish(idx)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DB_ENDIAN -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM
OPENSSLDIR: "/etc/ssl"
root@OpenWrt:~# openssl speed sha1 sha256 aes-128-cbc rsa2048
Doing sha1 for 3s on 16 size blocks: 1211138 sha1's in 2.90s
Doing sha1 for 3s on 64 size blocks: 961307 sha1's in 2.95s
Doing sha1 for 3s on 256 size blocks: 583938 sha1's in 2.93s
Doing sha1 for 3s on 1024 size blocks: 233072 sha1's in 2.94s
Doing sha1 for 3s on 8192 size blocks: 34193 sha1's in 2.88s
Doing sha256 for 3s on 16 size blocks: 1281575 sha256's in 2.85s
Doing sha256 for 3s on 64 size blocks: 762857 sha256's in 2.95s
Doing sha256 for 3s on 256 size blocks: 334716 sha256's in 2.85s
Doing sha256 for 3s on 1024 size blocks: 98271 sha256's in 2.65s
Doing sha256 for 3s on 8192 size blocks: 14832 sha256's in 2.92s
Doing aes-128 cbc for 3s on 16 size blocks: 2991732 aes-128 cbc's in 2.95s
Doing aes-128 cbc for 3s on 64 size blocks: 817311 aes-128 cbc's in 2.95s
Doing aes-128 cbc for 3s on 256 size blocks: 209226 aes-128 cbc's in 2.94s
Doing aes-128 cbc for 3s on 1024 size blocks: 52098 aes-128 cbc's in 2.92s
Doing aes-128 cbc for 3s on 8192 size blocks: 6592 aes-128 cbc's in 2.96s
Doing 2048 bit private rsa's for 10s: 176 2048 bit private RSA's in 9.87s
Doing 2048 bit public rsa's for 10s: 6404 2048 bit public RSA's in 9.77s
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
options:bn(64,32) rc4(ptr,char) des(idx,risc1,2,long) aes(partial) blowfish(idx)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DB_ENDIAN -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha1 6682.14k 20855.47k 51019.84k 81178.82k 97260.09k
aes-128 cbc 16226.34k 17731.49k 18218.32k 18269.98k 18243.81k
sha256 7194.81k 16550.12k 30065.72k 37973.40k 41610.87k
sign verify sign/s verify/s
rsa 2048 bits 0.056080s 0.001526s 17.8 655.5
linux-ppc-openwrt (with AES patch):
root@OpenWrt:~# openssl version -a
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
platform: linux-ppc-openwrt
options: bn(64,32) rc4(ptr,char) des(idx,risc1,2,long) blowfish(idx)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DB_ENDIAN -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM
OPENSSLDIR: "/etc/ssl"
root@OpenWrt:~# openssl speed sha1 sha256 aes-128-cbc rsa2048
Doing sha1 for 3s on 16 size blocks: 1233008 sha1's in 2.91s
Doing sha1 for 3s on 64 size blocks: 952124 sha1's in 2.92s
Doing sha1 for 3s on 256 size blocks: 588298 sha1's in 2.93s
Doing sha1 for 3s on 1024 size blocks: 232968 sha1's in 2.91s
Doing sha1 for 3s on 8192 size blocks: 35110 sha1's in 2.95s
Doing sha256 for 3s on 16 size blocks: 1321069 sha256's in 2.94s
Doing sha256 for 3s on 64 size blocks: 762813 sha256's in 2.93s
Doing sha256 for 3s on 256 size blocks: 335102 sha256's in 2.85s
Doing sha256 for 3s on 1024 size blocks: 103587 sha256's in 2.78s
Doing sha256 for 3s on 8192 size blocks: 14586 sha256's in 2.88s
Doing aes-128 cbc for 3s on 16 size blocks: 4522340 aes-128 cbc's in 2.87s
Doing aes-128 cbc for 3s on 64 size blocks: 1272219 aes-128 cbc's in 2.81s
Doing aes-128 cbc for 3s on 256 size blocks: 344513 aes-128 cbc's in 2.92s
Doing aes-128 cbc for 3s on 1024 size blocks: 85226 aes-128 cbc's in 2.73s
Doing aes-128 cbc for 3s on 8192 size blocks: 10753 aes-128 cbc's in 2.86s
Doing 2048 bit private rsa's for 10s: 172 2048 bit private RSA's in 9.67s
Doing 2048 bit public rsa's for 10s: 6421 2048 bit public RSA's in 9.68s
OpenSSL 1.0.2e 3 Dec 2015
built on: reproducible build, date unspecified
options:bn(64,32) rc4(ptr,char) des(idx,risc1,2,long) aes(partial) blowfish(idx)
compiler: ccache_cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/target-powerpc_8540_uClibc-0.9.33.2/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/usr/include -I/home/vagrant/openwrt/staging_dir/toolchain-powerpc_8540_gcc-4.8-linaro_uClibc-0.9.33.2/include -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_ERR -DB_ENDIAN -O2 -pipe -mcpu=8548 -mspe -mabi=spe -misel -mhard-float -mfloat-gprs=double -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -O3 -fPIC -Wall -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DVPAES_ASM
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha1 6779.43k 20868.47k 51400.78k 81979.12k 97498.68k
aes-128 cbc 25211.65k 28975.81k 30203.88k 31967.55k 30800.20k
sha256 7189.49k 16662.13k 30100.39k 38155.79k 41489.07k
sign verify sign/s verify/s
rsa 2048 bits 0.056221s 0.001508s 17.8 663.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment