「OpenSSLのパフォーマンス比較」の版間の差分
提供: セキュリティ
(相違点なし)
|
2015年11月11日 (水) 00:38時点における版
OpenSSL のパフォーマンスを比較してみました。
読み方
- OpenSSL
- おーぷん えすえすえる
目次
概要
opensslには、ベンチマークのオプションが実装されています。openssl speed で実行できます。
openssl-1.0.2d vs openssl-0.9.8q sha 256
openssl-0.9.8q は、FreeBSD 9.0-RELEASE にはじめから入っていたバイナリです。 openssl-1.0.2d は、自分でビルドしました。config のオプションは、zlib のみです。 SHA-256 でテストしました。
結論
1.0.2d のほうが 0.9.8qの1.79倍速い結果となりました。
openssl-1.0.2d > openssl-0.9.8q
テスト環境
AMDのCPUの環境でテストを実施しました。
AMD Phenom(tm) II X4 980 Processor (4017.87-MHz K8-class CPU)
ベンチマーク openssl 0.9.8q
% openssl version OpenSSL 0.9.8q 2 Dec 2010 % which openssl /usr/bin/openssl % openssl speed sha256 To get the most accurate results, try to run this program when this computer is idle. Doing sha256 for 3s on 16 size blocks: 5324850 sha256's in 3.00s Doing sha256 for 3s on 64 size blocks: 3231766 sha256's in 3.00s Doing sha256 for 3s on 256 size blocks: 1478358 sha256's in 3.00s Doing sha256 for 3s on 1024 size blocks: 466211 sha256's in 3.00s Doing sha256 for 3s on 8192 size blocks: 63113 sha256's in 3.00s OpenSSL 0.9.8q 2 Dec 2010 built on: date not available options:bn(64,64) md2(int) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(idx) compiler: cc available timing options: USE_TOD HZ=128 [sysconf value] timing function used: getrusage The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes sha256 28375.34k 68923.07k 126113.99k 159083.83k 172285.95k
ベンチマーク openssl 1.0.2d
% env OPENSSL_CONF=$PWD/apps/openssl.cnf apps/openssl version OpenSSL 1.0.2d 9 Jul 2015 % env OPENSSL_CONF=$PWD/apps/openssl.cnf apps/openssl speed sha256 Doing sha256 for 3s on 16 size blocks: 9568123 sha256's in 3.00s Doing sha256 for 3s on 64 size blocks: 5501981 sha256's in 3.00s Doing sha256 for 3s on 256 size blocks: 2399658 sha256's in 3.00s Doing sha256 for 3s on 1024 size blocks: 740101 sha256's in 3.01s Doing sha256 for 3s on 8192 size blocks: 99283 sha256's in 3.00s OpenSSL 1.0.2d 9 Jul 2015 built on: reproducible build, date unspecified options:bn(64,64) rc4(8x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx) compiler: cc -I. -I.. -I../include -DZLIB -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -O3 -Wall -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 -DECP_NISTZ256_ASM The 'numbers' are in 1000s of bytes per second processed. type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes sha256 51029.99k 117375.59k 204770.82k 251964.98k 271108.78k