Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
$ openssl speed -evp aes-gcm | chacha20-poly1305 の結果を集めるスレ

$ openssl speed -evp aes-128-gcm | chacha20-poly1305 の結果を集めるスレ

AES-CBC が早いけど、AES-GCM/AES-CTR が遅かったり、Ryzen が爆速だったり、 ChaCha20-Poly1305 が ARM で早かったりするという噂の真相が知りたいです。コメントに適当にべたべた結果を貼ってください。

ちなみに Apple M1 おかしいくらい早いです。

CPU 情報はできれば詳細なのがほしいです。

OpenSSL のバージョンは 3.0 系の最新版でお願いします。

  • Linux であれば $ cat /proc/cpuinfo で詳細な CPU 情報が出てきます
  • macOS であれば $ sysctl -n machdep.cpu.brand_string で詳細な CPU 情報が出てきます

簡単にまとめた記事を書きました

CPU の AES 高速化 – V – Medium

MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)

openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 138605189 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 64 size blocks: 121534149 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 71543386 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 25015577 aes-128-ctr's in 2.93s
Doing aes-128-ctr for 3s on 8192 size blocks: 3711078 aes-128-ctr's in 2.94s
Doing aes-128-ctr for 3s on 16384 size blocks: 1868394 aes-128-ctr's in 2.94s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     744188.93k  2601399.84k  6105035.61k  8742645.34k 10340527.54k 10412165.75k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 134740951 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 88455699 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 48511365 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 16543957 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2553018 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 1295618 aes-128-gcm's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     721021.81k  1887054.91k  4153481.42k  5647003.99k  6994757.01k  7075801.77k
openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 60815104 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 26210097 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 14266814 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 6339883 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 833146 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 419006 chacha20-poly1305's in 2.99s
OpenSSL 1.1.1h  22 Sep 2020
built on: Tue Sep 22 14:03:48 2020 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   325431.99k   559148.74k  1217434.79k  2171250.90k  2275044.01k  2295984.72k

MacBook Pro (15-inch, 2018)

Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 136790532 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 106857847 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 55523262 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 18108679 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2462486 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1264990 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     729549.50k  2279634.07k  4737985.02k  6181095.77k  6724228.44k  6908532.05k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 115693434 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 74186923 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 37880488 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 15008740 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2403850 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1222033 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     619095.30k  1587947.52k  3232468.31k  5122983.25k  6564113.07k  6673929.56k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 61414296 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 30732194 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 15535943 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 7044133 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 917119 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 451816 chacha20-poly1305's in 2.99s
OpenSSL 1.1.1  11 Sep 2018
built on: Sun Sep 16 07:17:45 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   327542.91k   655620.14k  1325733.80k  2404397.40k  2504346.28k  2475770.35k

MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)

Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz

% /opt/openssl/1.1.0h/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 139491791 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 111067871 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 55221450 aes-128-ctr's in 3.01s
Doing aes-128-ctr for 3s on 1024 size blocks: 18060987 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 2527180 aes-128-ctr's in 3.01s
Doing aes-128-ctr for 3s on 16384 size blocks: 1277986 aes-128-ctr's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0h/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0h/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     746444.37k  2369447.91k  4696575.15k  6185435.01k  6877959.65k  6979507.54k
% /opt/openssl/1.1.0h/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 84752075 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 64 size blocks: 75521695 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 256 size blocks: 37770320 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 14785887 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 8192 size blocks: 2311058 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 16384 size blocks: 1244979 aes-128-gcm's in 3.00s
OpenSSL 1.1.0h  27 Mar 2018
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0h/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0h/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     455044.70k  1621942.44k  3233846.80k  5063795.41k  6353082.93k  6799245.31k
$ /opt/openssl/1.1.1/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 133702783 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 100514874 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 51478616 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 1024 size blocks: 17467114 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 8192 size blocks: 2452573 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1251433 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Sep 20 09:15:20 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     713081.51k  2151488.94k  4407533.68k  6002122.39k  6697159.34k  6834492.76k
$ /opt/openssl/1.1.1/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 115685657 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 75101872 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 38027665 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 15034030 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 8192 size blocks: 2376815 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1216629 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Sep 20 09:15:20 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     619053.68k  1607531.71k  3245027.41k  5148778.17k  6490289.49k  6644416.51k

MacBook Pro (Retina, 13-inch, Mid 2014)

Intel(R) Core(TM) i7-4578U CPU @ 3.00GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 112211893 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 88506818 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 256 size blocks: 42595428 aes-128-ctr's in 2.96s
Doing aes-128-ctr for 3s on 1024 size blocks: 13355708 aes-128-ctr's in 2.91s
Doing aes-128-ctr for 3s on 8192 size blocks: 1895115 aes-128-ctr's in 3.00s
OpenSSL 1.0.2l  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -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
aes-128-ctr     598463.43k  1900817.57k  3683928.91k  4699740.55k  5174927.36k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 76458852 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 42256456 aes-128-gcm's in 2.78s
Doing aes-128-gcm for 3s on 256 size blocks: 24036137 aes-128-gcm's in 2.94s
Doing aes-128-gcm for 3s on 1024 size blocks: 7144657 aes-128-gcm's in 2.91s
Doing aes-128-gcm for 3s on 8192 size blocks: 1100133 aes-128-gcm's in 2.93s
OpenSSL 1.0.2l  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: /usr/bin/clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -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
aes-128-gcm     409144.36k   972810.50k  2092942.54k  2514133.60k  3075866.74k

さくら VPS 4G プラン

Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 59802606 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 54749396 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 24021185 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 9760580 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 1339667 aes-128-ctr's in 2.99s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -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
aes-128-ctr     318947.23k  1167987.11k  2049807.79k  3342753.82k  3670418.75k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 44378842 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 28788048 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 9272965 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 2953378 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 393397 aes-128-gcm's in 2.99s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -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
aes-128-gcm     236687.16k   614145.02k   793939.48k  1008086.36k  1077828.84k

Vultr dedcated instance $60

Virtual CPU 714389bda930

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 99812164 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 72267113 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 45080115 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 15288248 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2164504 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1103140 aes-128-ctr's in 3.00s
OpenSSL 1.1.0f  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0f/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0f/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     532331.54k  1541698.41k  3846836.48k  5218388.65k  5910538.92k  6024615.25k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 79661918 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 53470284 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 29359838 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 9201140 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1298793 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 682900 aes-128-gcm's in 3.00s
OpenSSL 1.1.0f  25 May 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0f/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0f/lib/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     424863.56k  1140699.39k  2505372.84k  3140655.79k  3546570.75k  3729544.53k
Doing aes-128-ctr for 3s on 16 size blocks: 106997340 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 85885365 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 44025343 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 15942624 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2210939 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1118052 aes-128-ctr's in 3.00s
OpenSSL 1.1.1-pre6 (beta) 1 May 2018
built on: Tue May  8 15:02:29 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64  -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     572561.02k  1832221.12k  3756829.27k  5441748.99k  6037337.43k  6106054.66k
Doing aes-128-gcm for 3s on 16 size blocks: 78172961 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 55513677 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 27273464 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 9318324 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1364860 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 690585 aes-128-gcm's in 3.00s
OpenSSL 1.1.1-pre6 (beta) 1 May 2018
built on: Tue May  8 15:02:29 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64  -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     418316.85k  1184291.78k  2327335.59k  3180654.59k  3726977.71k  3771514.88k
$ /opt/libressl/2.6.0/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 129660679 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 96063710 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 37787363 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 11193934 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1485097 aes-128-ctr's in 3.00s
LibreSSL 2.6.0
built on: date not available
options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: information not available
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-ctr     691523.62k  2049359.15k  3224521.64k  3820862.81k  4055304.87k
@voluntas
Copy link
Author

voluntas commented Feb 23, 2018

Packet Type AMD EPYC

https://www.packet.net/bare-metal/servers/amd-epyc/

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 149599915 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 109702570 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 57930770 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 21711548 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3170103 aes-128-ctr's in 3.00s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -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
aes-128-ctr     797866.21k  2340321.49k  4943425.71k  7410875.05k  8656494.59k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 97256720 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 60441768 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 26411449 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 8891223 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1294672 aes-128-gcm's in 3.00s
OpenSSL 1.0.2g  1 Mar 2016
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -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
aes-128-gcm     518702.51k  1289424.38k  2253776.98k  3034870.78k  3535317.67k
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 97550252 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 87946735 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 48329961 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 20430716 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3106444 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1588824 aes-128-ctr's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0g/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0g/lib/engines-1.1\""  -Wa,--noexecstack
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     520268.01k  1876197.01k  4124156.67k  6973684.39k  8482663.08k  8677097.47k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 82846944 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 55619333 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 24793171 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 8663014 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1290715 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 659158 aes-128-gcm's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/opt/openssl/1.1.0g/ssl\"" -DENGINESDIR="\"/opt/openssl/1.1.0g/lib/engines-1.1\""  -Wa,--noexecstack
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     441850.37k  1186545.77k  2115683.93k  2956975.45k  3524512.43k  3599881.56k
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 95519480 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 86329343 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 53634070 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 21088922 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3126634 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1594663 aes-128-ctr's in 3.00s
OpenSSL 1.1.1-pre1 (alpha) 13 Feb 2018
built on: Fri Feb 23 01:54:00 2018 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -Wall -O3 -pthread -m64 -Wa,--noexecstack -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSL_USE_NODELETE -DL_ENDIAN
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     509437.23k  1841692.65k  4576773.97k  7198352.04k  8537795.24k  8708986.20k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 82746818 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 42942139 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 23805871 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 8806667 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1290207 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 659397 aes-128-gcm's in 3.00s
OpenSSL 1.1.1-pre1 (alpha) 13 Feb 2018
built on: Fri Feb 23 01:54:00 2018 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -Wall -O3 -pthread -m64 -Wa,--noexecstack -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSL_USE_NODELETE -DL_ENDIAN
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     441316.36k   916098.97k  2031434.33k  3006009.00k  3523125.25k  3601186.82k
$ cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD EPYC 7401P 24-Core Processor
stepping	: 2
microcode	: 0x8001207
cpu MHz		: 1996.199
cache size	: 512 KB
physical id	: 0
siblings	: 48
core id		: 0
cpu cores	: 24
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx cpb hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs		: fxsave_leak sysret_ss_attrs
bogomips	: 3992.39
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

... 省略

processor	: 47
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD EPYC 7401P 24-Core Processor
stepping	: 2
microcode	: 0x8001207
cpu MHz		: 1996.199
cache size	: 512 KB
physical id	: 0
siblings	: 48
core id		: 1
cpu cores	: 24
apicid		: 61
initial apicid	: 61
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid amd_dcm aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx cpb hw_pstate vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs		: fxsave_leak sysret_ss_attrs
bogomips	: 3992.39
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

@voluntas
Copy link
Author

voluntas commented Nov 9, 2018

EC2 m5a.24xlarge AMD EPYC 7571

https://aws.amazon.com/jp/blogs/aws/new-lower-cost-amd-powered-ec2-instances/

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 93774054 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 66317976 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 42495285 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 18535501 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2827296 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1446482 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Fri Nov  9 06:40:38 2018 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     500128.29k  1414783.49k  3626264.32k  6326784.34k  7720402.94k  7899720.36k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 80818246 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 40584766 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 23697817 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 8539763 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1257851 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 640654 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Fri Nov  9 06:40:38 2018 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     431030.65k   865808.34k  2022213.72k  2914905.77k  3434771.80k  3498825.05k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 42096123 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 19161143 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 5774663 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 2493929 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 324755 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 163129 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Fri Nov  9 06:40:38 2018 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   224512.66k   408771.05k   492771.24k   851261.10k   886797.65k   890901.85k
processor       : 95
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 1
model name      : AMD EPYC 7571
stepping        : 2
microcode       : 0x8001227
cpu MHz         : 2496.580
cache size      : 512 KB
physical id     : 1
siblings        : 48
core id         : 23
cpu cores       : 24
apicid          : 111
initial apicid  : 111
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid amd_dcm aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch topoext perfctr_core vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr arat npt nrip_save
bugs            : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 4400.23
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management:

@tk0miya
Copy link

tk0miya commented Nov 13, 2018

mac mini (2018) i5モデル

tkomiya@Alrescha> uname -a
Darwin Alrescha.local 18.0.0 Darwin Kernel Version 18.0.0: Fri Sep  7 21:10:33 PDT 2018; root:xnu-4903.207.2~1/RELEASE_X86_64 x86_64
tkomiya@Alrescha> sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
tkomiya@Alrescha> /usr/local/opt/openssl@1.1/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 126241566 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 98744147 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 51535760 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 16679797 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2281409 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1149438 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     673288.35k  2106541.80k  4397718.19k  5693370.71k  6229767.51k  6277464.06k
tkomiya@Alrescha> /usr/local/opt/openssl@1.1/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 111897941 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 71768677 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 34491803 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 10152359 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1334099 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 679235 aes-128-gcm's in 3.01s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     596789.02k  1536185.73k  2943300.52k  3465338.54k  3655163.55k  3697204.73k
tkomiya@Alrescha> /usr/local/opt/openssl@1.1/bin/openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 56681586 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 27464456 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12761025 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3348712 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 425697 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 211131 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   302301.79k   585908.39k  1088940.80k  1143027.03k  1162436.61k  1153056.77k

@kdxu
Copy link

kdxu commented Nov 13, 2018

Mac mini (2018) / 3.2 GHz Intel Core i7

> /usr/local/opt/openssl@1.1/bin/openssl version
OpenSSL 1.1.1  11 Sep 2018
> uname -a
Darwin gemini.local 18.0.0 Darwin Kernel Version 18.0.0: Fri Sep  7 21:10:33 PDT 2018; root:xnu-4903.207.2~1/RELEASE_X86_64 x86_64
> /usr/local/opt/openssl@1.1/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 131292274 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 64 size blocks: 102391929 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 53457951 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 1024 size blocks: 17618883 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 8192 size blocks: 2412167 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 16384 size blocks: 1215620 aes-128-ctr's in 2.99s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     704924.96k  2191666.71k  4592360.89k  6054273.89k  6608853.53k  6661109.73k
> /usr/local/opt/openssl@1.1/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 122294512 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 64 size blocks: 75497898 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 35989549 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 1024 size blocks: 10861656 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 8192 size blocks: 1419945 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 713747 aes-128-gcm's in 2.98s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     656614.83k  1616008.52k  3091719.65k  3719844.73k  3890364.36k  3924171.43k
> /usr/local/opt/openssl@1.1/bin/openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 60604817 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 64 size blocks: 28699267 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 256 size blocks: 13424223 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3493610 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 419902 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 216256 chacha20-poly1305's in 2.99s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 11 14:25:56 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   325394.99k   616360.10k  1153221.84k  1200488.81k  1154307.78k  1184996.09k

@voluntas
Copy link
Author

voluntas commented Nov 27, 2018

AWS a1.4xlarge

AWS Graviton

$ cat /proc/cpuinfo
...
processor	: 15
BogoMIPS	: 166.66
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3
$ /opt/openssl/1.1.1a/bin/openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 54126376 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 39284196 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 19590615 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 6403306 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 901044 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 436496 aes-128-ctr's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Tue Nov 27 05:16:41 2018 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     288674.01k   838062.85k  1671732.48k  2185661.78k  2460450.82k  2383850.15k
$ /opt/openssl/1.1.1a/bin/openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 44753683 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 30974691 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 12780933 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 3707272 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 495383 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 245950 aes-128-gcm's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Tue Nov 27 05:16:41 2018 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     239484.59k   660793.41k  1090639.62k  1265415.51k  1352725.85k  1343214.93k
$ /opt/openssl/1.1.1a/bin/openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 21140513 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 8608348 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 3999273 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 1154172 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 148782 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 74616 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Tue Nov 27 05:16:41 2018 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   113126.49k   183644.76k   341271.30k   395274.96k   406274.05k   407502.85k

@haruyama
Copy link

haruyama commented Nov 27, 2018

% uname -a
Linux honbu6 4.18.0-10-generic #11-Ubuntu SMP Thu Oct 11 15:13:55 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
% cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 85
model name      : Intel(R) Core(TM) i9-7920X CPU @ 2.90GHz
stepping        : 4
microcode       : 0x200004d
cpu MHz         : 1200.050
cache size      : 16896 KB
physical id     : 0
siblings        : 24
core id         : 0
cpu cores       : 12
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5800.00
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:
...
% openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 126311268 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 102054569 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 50926458 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 17078864 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2365950 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1190230 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 25 14:41:07 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-Wf_Sfa/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     673660.10k  2177164.14k  4345724.42k  5829585.58k  6460620.80k  6500242.77k
openssl speed -evp aes-128-ctr  18.00s user 0.00s system 99% cpu 18.008 total
% openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 113119976 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 73681685 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 35562795 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 14084790 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2220987 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1139487 aes-128-gcm's in 3.01s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 25 14:41:07 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-Wf_Sfa/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     605324.29k  1571875.95k  3034691.84k  4807608.32k  6064775.17k  6202443.52k
openssl speed -evp aes-128-gcm  18.00s user 0.01s system 99% cpu 18.009 total
% openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 62599249 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 31176234 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 15807611 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 7024191 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 973764 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 491121 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Sep 25 14:41:07 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-Wf_Sfa/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   333862.66k   665092.99k  1348916.14k  2397590.53k  2659024.90k  2682175.49k
openssl speed -evp chacha20-poly1305  18.01s user 0.00s system 99% cpu 18.008 total

@voluntas
Copy link
Author

voluntas commented Nov 29, 2018

AWS z1d.large

$ cat /proc/cpuinfo
...
processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 85
model name	: Intel(R) Xeon(R) Platinum 8151 CPU @ 3.40GHz
stepping	: 4
microcode	: 0x2000049
cpu MHz		: 4019.563
cache size	: 25344 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 1
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 6800.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 131541875 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 99690954 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 49592129 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 16616280 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 2301948 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1160406 aes-128-ctr's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Thu Nov 29 15:29:09 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     703903.01k  2126740.35k  4231861.67k  5671690.24k  6285852.67k  6337363.97k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 117075342 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 72863829 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 36180697 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 14216461 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2239631 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1141325 aes-128-gcm's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Thu Nov 29 15:29:09 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     624401.82k  1554428.35k  3087419.48k  4852552.02k  6115685.72k  6233156.27k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 60744062 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 30755953 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 16368174 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 7406277 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 1005577 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 506752 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1a  20 Nov 2018
built on: Thu Nov 29 15:29:09 2018 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   323968.33k   656127.00k  1401422.26k  2528009.22k  2745895.59k  2767541.59

@dmiyakawa
Copy link

dmiyakawa commented Dec 3, 2018

とある32足のスリッパ

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 127395136 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 115733884 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 70785378 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 27213992 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3997748 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2037510 aes-128-ctr's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     681713.10k  2468989.53k  6040352.26k  9289042.60k 10916517.21k 11127521.28k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 106893599 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 72775966 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 35310447 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 11831673 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1771740 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 904711 aes-128-gcm's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     572005.88k  1552553.94k  3013158.14k  4038544.38k  4838031.36k  4940928.34k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 62549505 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 26963799 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 8259380 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3543494 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 460927 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 231418 chacha20-poly1305's in 3.00s
OpenSSL 1.1.0g  2 Nov 2017
built on: reproducible build, date unspecified
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/x86_64-linux-gnu/engines-1.1\""
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   333597.36k   575227.71k   704800.43k  1209512.62k  1258637.99k  1263850.84k

@voluntas
Copy link
Author

voluntas commented Mar 29, 2019

DELL T440

$ cat /proc/cpuinfo
...
processor	: 55
vendor_id	: GenuineIntel
cpu family	: 6
model		: 85
model name	: Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz
stepping	: 4
microcode	: 0x2000050
cpu MHz		: 1677.381
cache size	: 19712 KB
physical id	: 1
siblings	: 28
core id		: 11
cpu cores	: 14
apicid		: 55
initial apicid	: 55
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single pti intel_ppin ssbd mba ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts pku ospke flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 4401.74
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 102529649 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 80336090 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 40051131 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 13311005 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1838480 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 926797 aes-128-ctr's in 3.00s
OpenSSL 1.1.1b  26 Feb 2019
built on: Fri Mar 29 02:29:38 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     548653.64k  1713836.59k  3417696.51k  4543489.71k  5020276.05k  5061547.35k
openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 81500254 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 53180036 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 27878999 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 10829659 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1773152 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 906663 aes-128-gcm's in 3.00s
OpenSSL 1.1.1b  26 Feb 2019
built on: Fri Mar 29 02:29:38 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     434668.02k  1134507.43k  2379007.91k  3696523.61k  4841887.06k  4951588.86k
openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 48377988 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 24819790 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 14062860 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 6401026 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 862881 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 434895 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1b  26 Feb 2019
built on: Fri Mar 29 02:29:38 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   258015.94k   529488.85k  1200030.72k  2184883.54k  2356240.38k  2375106.56k

@kazuki
Copy link

kazuki commented Jul 18, 2019

Ryzen 7 3700X (65W)

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 95813335 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 82609591 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 58620402 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 27617654 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4378097 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2253977 aes-128-ctr's in 3.00s
OpenSSL 1.1.1c  28 May 2019
built on: Thu May 30 14:23:47 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -pipe -fno-strict-aliasing -Wa,--noexecstack -O2 -pipe -march=native -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK160
0_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     511004.45k  1768232.05k  5002274.30k  9426825.90k 11955123.54k 12309719.72k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 84099072 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 60253150 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 33269058 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 12468457 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1814548 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 915882 aes-128-gcm's in 3.00s
OpenSSL 1.1.1c  28 May 2019
built on: Thu May 30 14:23:47 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -pipe -fno-strict-aliasing -Wa,--noexecstack -O2 -pipe -march=native -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK160
0_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     448528.38k  1285400.53k  2848454.46k  4255899.99k  4954925.74k  5001936.90k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 64331222 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 29444610 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 256 size blocks: 14981727 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 6492482 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 835933 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 427751 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1c  28 May 2019
built on: Thu May 30 14:23:47 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -pipe -fno-strict-aliasing -Wa,--noexecstack -O2 -pipe -march=native -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK160
0_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   343099.85k   630252.52k  1278440.70k  2216100.52k  2282654.38k  2336090.79k

@penkoba
Copy link

penkoba commented Oct 25, 2019

$ cat /proc/cpuinfo
<snip>
processor	: 15
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 8
model name	: AMD Ryzen 7 2700X Eight-Core Processor
stepping	: 2
microcode	: 0x800820b
cpu MHz		: 2025.357
cache size	: 512 KB
<snip>
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 103811039 aes-128-ctr's in 2.42s
Doing aes-128-ctr for 3s on 64 size blocks: 70702412 aes-128-ctr's in 2.63s
Doing aes-128-ctr for 3s on 256 size blocks: 56716982 aes-128-ctr's in 2.84s
Doing aes-128-ctr for 3s on 1024 size blocks: 24055143 aes-128-ctr's in 2.93s
Doing aes-128-ctr for 3s on 8192 size blocks: 3089736 aes-128-ctr's in 2.63s
Doing aes-128-ctr for 3s on 16384 size blocks: 1572096 aes-128-ctr's in 2.58s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     686353.98k  1720514.97k  5112516.69k  8406985.13k  9623998.98k  9983418.94k
$openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 83988944 aes-128-gcm's in 2.45s
Doing aes-128-gcm for 3s on 64 size blocks: 54396936 aes-128-gcm's in 2.85s
Doing aes-128-gcm for 3s on 256 size blocks: 24094772 aes-128-gcm's in 2.54s
Doing aes-128-gcm for 3s on 1024 size blocks: 10009827 aes-128-gcm's in 2.63s
Doing aes-128-gcm for 3s on 8192 size blocks: 1291246 aes-128-gcm's in 2.72s
Doing aes-128-gcm for 3s on 16384 size blocks: 789037 aes-128-gcm's in 2.98s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     548499.23k  1221545.23k  2428449.46k  3897362.30k  3888929.13k  4338114.83k
$openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 50447541 chacha20-poly1305's in 2.74s
Doing chacha20-poly1305 for 3s on 64 size blocks: 23557938 chacha20-poly1305's in 2.90s
Doing chacha20-poly1305 for 3s on 256 size blocks: 6641435 chacha20-poly1305's in 2.59s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 2589951 chacha20-poly1305's in 2.45s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 393969 chacha20-poly1305's in 2.87s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 167846 chacha20-poly1305's in 2.36s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   294584.18k   519899.32k   656450.72k  1082493.81k  1124527.54k  1165249.52k

@penkoba
Copy link

penkoba commented Oct 25, 2019

$cat /proc/cpuinfo
<snip>
processor	: 31
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 8
model name	: AMD Ryzen Threadripper 2950X 16-Core Processor
stepping	: 2
microcode	: 0x800820b
cpu MHz		: 1889.257
cache size	: 512 KB
<snip>
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 130615014 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 91809188 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 73751242 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 28470060 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4182820 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2129385 aes-128-ctr's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     698943.22k  1958596.01k  6293439.32k  9717780.48k 11421887.15k 11629281.28k
$openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 112583530 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 67182646 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 33334505 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 12662292 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1834181 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 936294 aes-128-gcm's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     600445.49k  1433229.78k  2844544.43k  4322062.34k  5025287.88k  5113413.63k
$openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 65015761 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 28387879 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 8443064 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3659585 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 477379 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 239622 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1  11 Sep 2018
built on: Thu Jun 20 17:36:28 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-cn9tZy/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   346750.73k   605608.09k   720474.79k  1253316.07k  1303562.92k  1308655.62k

@tnamao
Copy link

tnamao commented Nov 23, 2019

MacBook Pro 16" 2019 Late - Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 126294609 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 96699385 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 47294332 aes-128-ctr's in 2.98s
Doing aes-128-ctr for 3s on 1024 size blocks: 15389499 aes-128-ctr's in 2.92s
Doing aes-128-ctr for 3s on 8192 size blocks: 2335397 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 16384 size blocks: 1225812 aes-128-ctr's in 3.01s
OpenSSL 1.1.1d  10 Sep 2019
built on: Sat Sep 28 13:18:07 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     673571.25k  2062920.21k  4062868.79k  5396865.40k  6398519.14k  6672326.85k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 88803142 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 64982935 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 28458577 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 9849093 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1465196 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 651777 aes-128-gcm's in 3.00s
OpenSSL 1.1.1d  10 Sep 2019
built on: Sat Sep 28 13:18:07 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     475200.76k  1386302.61k  2428465.24k  3361823.74k  4000961.88k  3559571.46k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 50836952 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 25908493 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 11103287 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3139764 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 387461 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 207485 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1d  10 Sep 2019
built on: Sat Sep 28 13:18:07 2019 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   271130.41k   552714.52k   950649.32k  1071706.11k  1061565.39k  1133144.75k

@kazuki
Copy link

kazuki commented Dec 2, 2019

AMD Ryzen Threadripper 3970X (Zen2, 32C, 3.7GHz, 280W)

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 153619208 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 131209757 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 79297517 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 31013465 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4629065 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2357261 aes-128-ctr's in 3.00s
OpenSSL 1.1.1d  10 Sep 2019
built on: Mon Dec  2 05:23:21 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -march=native -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     822042.58k  2799141.48k  6766721.45k 10585929.39k 12640433.49k 12873788.07k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 122260876 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 78486631 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 43332937 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 1024 size blocks: 12582919 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1871556 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 942287 aes-128-gcm's in 3.00s
OpenSSL 1.1.1d  10 Sep 2019
built on: Mon Dec  2 05:23:21 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -march=native -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     652058.01k  1674381.46k  3710110.99k  4294969.69k  5110595.58k  5146143.40k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 65783429 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 29736085 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 256 size blocks: 15009424 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 6627428 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 863894 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 433369 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1d  10 Sep 2019
built on: Mon Dec  2 05:23:21 2019 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: x86_64-pc-linux-gnu-gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -march=native -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DZLIB -DNDEBUG  -DOPENSSL_NO_BUF_FREELISTS
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   350844.95k   636491.45k  1280804.18k  2262162.09k  2359006.55k  2366772.57k

@bateleurX
Copy link

bateleurX commented Jun 16, 2020

AWS c6g.large (AWS Graviton2 クロック等不明)

$ cat /proc/cpuinfo
processor       : 0
BogoMIPS        : 243.75
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x3
CPU part        : 0xd0c
CPU revision    : 1

processor       : 1
BogoMIPS        : 243.75
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x3
CPU part        : 0xd0c
CPU revision    : 1
~$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 86746776 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 62235351 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 29566524 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 9560942 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1308249 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 658848 aes-128-ctr's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-9j6sUa/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     464196.79k  1327687.49k  2523010.05k  3263468.20k  3572391.94k  3598188.54k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 75329155 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 53526770 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 20580534 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 5959605 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 776618 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 390910 aes-128-gcm's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-9j6sUa/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     401755.49k  1141904.43k  1756205.57k  2034211.84k  2120684.89k  2134889.81k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 32488533 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 13099275 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 6370213 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 1957168 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 251998 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 126297 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-9j6sUa/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   173272.18k   279451.20k   543591.51k   668046.68k   688122.54k   689750.02k

@hnakamur
Copy link

hnakamur commented Nov 21, 2020

ThinkCentre M75q-1 Tiny - AMD Ryzen 5 PRO 3400GE

$ cat /proc/cpuinfo
前略

processor	: 7
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 24
model name	: AMD Ryzen 5 PRO 3400GE w/ Radeon Vega Graphics
stepping	: 1
microcode	: 0x8108109
cpu MHz		: 1257.283
cache size	: 512 KB
physical id	: 0
siblings	: 8
core id		: 3
cpu cores	: 4
apicid		: 7
initial apicid	: 7
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 6587.52
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 96283049 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 84926964 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 51573240 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 24242285 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3744009 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 1910592 aes-128-ctr's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 12:55:21 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     513509.59k  1817834.68k  4400916.48k  8274699.95k 10223640.58k 10434379.78k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 94411550 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 51698069 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 30421571 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 10881475 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1635243 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 840661 aes-128-gcm's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 12:55:21 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     505212.31k  1102892.14k  2595974.06k  3714210.13k  4465303.55k  4591129.94k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 54570105 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 24308527 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 7646856 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 3295829 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 431524 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 216625 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 12:55:21 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   292013.94k   518581.91k   652531.71k  1124976.30k  1178348.20k  1183061.33k

@shibukawa
Copy link

shibukawa commented Nov 21, 2020

MacBook Pro 2020 - Apple Silicon M1

sysctl -n machdep.cpu.brand_string
Apple processor

opensslはMacPortsで入れたARM64ネイティブ対応のユニバーサルバイナリ。

% file /opt/local/bin/openssl
/opt/local/bin/openssl: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
/opt/local/bin/openssl (for architecture x86_64):	Mach-O 64-bit executable x86_64
/opt/local/bin/openssl (for architecture arm64):	Mach-O 64-bit executable arm64
% openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 215874964 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 168485151 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 256 size blocks: 90004803 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 29668722 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4066290 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2049920 aes-128-ctr's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 08:17:58 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1151333.14k  3606371.13k  7680409.86k 10126923.78k 11103682.56k 11195296.43k
% openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 209666010 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 145390695 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 55330140 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13576347 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1646357 aes-128-gcm's in 2.98s
Doing aes-128-gcm for 3s on 16384 size blocks: 838214 aes-128-gcm's in 2.98s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 08:17:58 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1118218.72k  3112041.63k  4721505.28k  4634059.78k  4525824.34k  4608489.32k
% openssl speed -evp chacha20-poly1305 
Doing chacha20-poly1305 for 3s on 16 size blocks: 71371255 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 64 size blocks: 26737407 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12584241 chacha20-poly1305's in 2.98s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5070012 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 628182 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 315840 chacha20-poly1305's in 2.98s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 08:17:58 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   383201.37k   574226.19k  1081062.31k  1736351.94k  1721092.62k  1736484.08k

@okumura
Copy link

okumura commented Nov 21, 2020

MacBook Air - Apple Silicon M1、構成変更なしの一番安いやつです。

% sysctl -n machdep.cpu.brand_string
Apple processor

MacPorts でインストールした OpenSSL 1.1.1 を使いました。

% file /opt/local/bin/openssl
/opt/local/bin/openssl: Mach-O 64-bit executable arm64
% file /opt/local/lib/libssl.1.1.dylib 
/opt/local/lib/libssl.1.1.dylib: Mach-O 64-bit dynamically linked shared library arm64
% openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 212715218 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 164989653 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 88113434 aes-128-ctr's in 3.01s
Doing aes-128-ctr for 3s on 1024 size blocks: 29014599 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 3982228 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2014932 aes-128-ctr's in 3.01s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 05:03:35 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1134481.16k  3519779.26k  7494032.92k  9903649.79k 10874137.26k 10967656.44k
% openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 203532737 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 142807403 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 54487296 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13428608 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1650068 aes-128-gcm's in 3.01s
Doing aes-128-gcm for 3s on 16384 size blocks: 832920 aes-128-gcm's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 05:03:35 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1085507.93k  3046557.93k  4649582.59k  4583631.53k  4490816.30k  4548853.76k
% openssl speed -evp chacha20-poly1305 
Doing chacha20-poly1305 for 3s on 16 size blocks: 71607865 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 27281756 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12675593 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5116048 chacha20-poly1305's in 3.01s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 626461 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 318059 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Fri Nov 20 05:03:35 2020 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   381908.61k   582010.79k  1081650.60k  1740476.13k  1710656.17k  1737026.22k

@itooon
Copy link

itooon commented Nov 21, 2020

AMD Ryzen 9 5950Xです

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 33
model name	: AMD Ryzen 9 5950X 16-Core Processor
stepping	: 0
microcode	: 0xa201009
cpu MHz		: 2154.552
cache size	: 512 KB
physical id	: 0
siblings	: 32
core id		: 0
cpu cores	: 16
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 6800.50
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

中略

processor	: 31
vendor_id	: AuthenticAMD
cpu family	: 25
model		: 33
model name	: AMD Ryzen 9 5950X 16-Core Processor
stepping	: 0
microcode	: 0xa201009
cpu MHz		: 2190.949
cache size	: 512 KB
physical id	: 0
siblings	: 32
core id		: 15
cpu cores	: 16
apicid		: 31
initial apicid	: 31
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 6800.50
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
$ uname -s -r -v -p -i -o
Linux 4.15.0-118-generic #119-Ubuntu SMP Tue Sep 8 12:30:01 UTC 2020 x86_64 x86_64 GNU/Linux
$ ./openssl version
OpenSSL 1.1.1h  22 Sep 2020
$ ./openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 160968790 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 151399440 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 87435179 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 31029095 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4424778 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2229049 aes-128-ctr's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 19:31:44 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     858500.21k  3229854.72k  7461135.27k 10591264.43k 12082593.79k 12173579.61k
$ ./openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 155075274 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 91955798 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 50450744 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 16317128 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 2285051 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 1151243 aes-128-gcm's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 19:31:44 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     827068.13k  1961723.69k  4305130.15k  5569579.69k  6239712.60k  6287321.77k
$ ./openssl speed -evp chacha20-poly1305 
Doing chacha20-poly1305 for 3s on 16 size blocks: 74156132 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 32516647 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 19726999 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 8850388 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 1140724 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 573805 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1h  22 Sep 2020
built on: Sat Nov 21 19:31:44 2020 UTC
options:bn(64,64) rc4(8x,int) des(int) aes(partial) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   395499.37k   693688.47k  1683370.58k  3020932.44k  3114937.00k  3133740.37k

@shibukawa
Copy link

shibukawa commented Dec 6, 2020

Ubuntu on QEMU on Apple M1 MacBook Pro 13

$ openssl version
OpenSSL 1.1.1f  31 Mar 2020
/proc/cpuinfo
processor	: 0
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x00
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0x000
CPU revision	: 0

processor	: 1
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x00
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0x000
CPU revision	: 0

processor	: 2
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x00
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0x000
CPU revision	: 0

processor	: 3
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer	: 0x00
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0x000
CPU revision	: 0
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 210512967 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 163739218 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 88748864 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 30997588 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4391412 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2204898 aes-128-ctr's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-9j6sUa/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1126490.79k  3493103.32k  7573236.39k 10580510.04k 11991482.37k 12041682.94k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 192726537 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 136317918 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 54555879 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13098999 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1641117 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 816232 aes-128-gcm's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-9j6sUa/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1027874.86k  2908115.58k  4655435.01k  4471124.99k  4481343.49k  4457715.03k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 70637089 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 26738049 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: Segmentation fault (コアダンプ)

@shibukawa
Copy link

shibukawa commented Dec 11, 2020

ubuntu:20.10 on Docker-AppleSilicon-Preview5 on MacBook Pro 13(M1)

apt install opensslで入ったバージョン

$ openssl version
OpenSSL 1.1.1f  31 Mar 2020

cpuinfoは↑のQEMUと同じなので省略

#  openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 213599767 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 164087170 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 88491625 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 31257763 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4402350 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2231471 aes-128-ctr's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue Sep 15 17:04:36 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-VowUVY/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1139198.76k  3500526.29k  7551285.33k 10669316.44k 12021350.40k 12186806.95k
# openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 199316828 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 139738116 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 54632118 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13152713 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1677445 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 823979 aes-128-gcm's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue Sep 15 17:04:36 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-VowUVY/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1063023.08k  2981079.81k  4661940.74k  4489459.37k  4580543.15k  4500023.98k
#  openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 69657056 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 27046254 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12568361 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5054925 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 632559 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 317107 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue Sep 15 17:04:36 2020 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr) 
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-VowUVY/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes

@voluntas
Copy link
Author

voluntas commented Jun 17, 2021

Mac mini (M1, 2020)

% ./openssl version
OpenSSL 3.0.0-beta1 17 Jun 2021 (Library: OpenSSL 3.0.0-beta1 17 Jun 2021)
% ./openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 263047661 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 190934349 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 256 size blocks: 97924394 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 33355352 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 4610909 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2326162 AES-128-CTR's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1402920.86k  4086889.08k  8356214.95k 11385293.48k 12590855.51k 12703946.07k
% ./openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 198016652 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 140787796 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 56406277 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 18631790 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2459099 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1234272 AES-128-GCM's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1056088.81k  3003472.98k  4813335.64k  6380920.72k  6714979.67k  6740770.82k
% ./openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 71127733 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 27573582 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 13735490 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 5367895 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 670445 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 331303 ChaCha20-Poly1305's in 3.00s
version: 3.0.0-beta1
built on: built on: Thu Jun 17 23:14:56 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   379347.91k   588236.42k  1172095.15k  1838369.39k  1830761.81k  1809356.12k

@voluntas
Copy link
Author

voluntas commented Aug 26, 2021

Oracle Cloud

  • Ampere Altra
  • 2C / 12G
$ cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 50.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x3
CPU part	: 0xd0c
CPU revision	: 1

processor	: 1
BogoMIPS	: 50.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x3
CPU part	: 0xd0c
CPU revision	: 1
$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 105984145 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 64 size blocks: 76441544 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 35716532 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 11346159 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 8192 size blocks: 1545882 aes-128-ctr's in 2.99s
Doing aes-128-ctr for 3s on 16384 size blocks: 777966 aes-128-ctr's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     567139.24k  1630752.94k  3047810.73k  3885774.85k  4235406.47k  4248731.65k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 90616624 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 64 size blocks: 61740338 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 24248543 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 7059369 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 921092 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 463808 aes-128-gcm's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     484905.01k  1317127.21k  2069209.00k  2409597.95k  2515195.22k  2533010.09k
$ openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 38759465 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 64 size blocks: 15736222 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 7642042 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 2344355 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 301804 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 151304 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Thu Aug 26 13:59:39 2021 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   207408.51k   335706.07k   652120.92k   800206.51k   824126.12k   826321.58k

@voluntas
Copy link
Author

voluntas commented Nov 2, 2021

MacBook Pro 16 M1 Max 10C/64G

openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 216456176 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 165427993 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 89741704 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 29642896 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 4048117 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 2047197 aes-128-ctr's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr    1154432.94k  3529130.52k  7657958.74k 10118108.50k 11054058.15k 11180425.22k
openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 213655402 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 144511486 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 256 size blocks: 55693445 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 13560599 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1655633 aes-128-gcm's in 2.99s
Doing aes-128-gcm for 3s on 16384 size blocks: 831018 aes-128-gcm's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm    1139495.48k  3093222.44k  4752507.31k  4628684.46k  4536102.19k  4538466.30k
openssl speed -evp chacha20-poly1305
Doing chacha20-poly1305 for 3s on 16 size blocks: 70680561 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 64 size blocks: 27245387 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 256 size blocks: 12688205 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 1024 size blocks: 5076630 chacha20-poly1305's in 2.99s
Doing chacha20-poly1305 for 3s on 8192 size blocks: 631797 chacha20-poly1305's in 3.00s
Doing chacha20-poly1305 for 3s on 16384 size blocks: 318473 chacha20-poly1305's in 3.00s
OpenSSL 1.1.1l  24 Aug 2021
built on: Wed Aug 25 08:26:56 2021 UTC
options:bn(64,64) rc4(int) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -D_REENTRANT -DNDEBUG
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
chacha20-poly1305   376962.99k   581234.92k  1082726.83k  1738618.43k  1725227.01k  1739287.21k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 199145085 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 141535574 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 55675446 AES-128-GCM's in 3.01s
Doing AES-128-GCM for 3s on 1024 size blocks: 18726506 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2470932 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1241734 AES-128-GCM's in 3.00s
version: 3.0.0
built on: built on: Mon Oct 18 08:30:57 2021 UTC
options:bn(64,64)
compiler: cc -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1062107.12k  3019425.58k  4735187.43k  6391980.71k  6747291.65k  6781523.29k

@thorgeo
Copy link

thorgeo commented May 24, 2022

c7g.medium

openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 180830348 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 124779370 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 61025806 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 18730736 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 8192 size blocks: 2510330 AES-128-CTR's in 2.96s
Doing AES-128-CTR for 3s on 16384 size blocks: 1287692 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     964428.52k  2661959.89k  5207535.45k  6436333.44k  6947507.89k  7032515.24k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 119139097 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 82881589 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 33646615 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 12024154 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1654676 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 833006 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     637533.63k  1768140.57k  2871177.81k  4104244.57k  4518368.60k  4549323.43k
openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 49922137 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 20760735 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 9314451 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 3129378 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 399624 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 200204 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   267141.87k   442895.68k   794833.15k  1068161.02k  1091239.94k  1093380.78k
openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 119343962 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 82857291 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 33644669 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 12015629 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1654447 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 833152 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Wed Mar 16 08:35:51 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-bOWniJ/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_armcap=0xff
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     636501.13k  1767622.21k  2871011.75k  4101334.70k  4517743.27k  4550120.79k

@voluntas
Copy link
Author

voluntas commented Jun 5, 2022

Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz

$ openssl speed -evp aes-128-ctr
Doing aes-128-ctr for 3s on 16 size blocks: 86907960 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 64 size blocks: 69629031 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 256 size blocks: 36108227 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 1024 size blocks: 12434480 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 8192 size blocks: 1772179 aes-128-ctr's in 3.00s
Doing aes-128-ctr for 3s on 16384 size blocks: 893401 aes-128-ctr's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue May  3 17:49:36 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-7zx7z2/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-ctr     463509.12k  1485419.33k  3081235.37k  4244302.51k  4839230.12k  4879160.66k
$ openssl speed -evp aes-128-gcm
Doing aes-128-gcm for 3s on 16 size blocks: 71974789 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 64 size blocks: 48304425 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 256 size blocks: 24868289 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 1024 size blocks: 10572036 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 8192 size blocks: 1709488 aes-128-gcm's in 3.00s
Doing aes-128-gcm for 3s on 16384 size blocks: 874154 aes-128-gcm's in 3.00s
OpenSSL 1.1.1f  31 Mar 2020
built on: Tue May  3 17:49:36 2022 UTC
options:bn(64,64) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-7zx7z2/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     383865.54k  1030494.40k  2122093.99k  3608588.29k  4668041.90k  4774046.38k

@voluntas
Copy link
Author

voluntas commented Jun 5, 2022

AMD EPYC 7443P

Ubuntu 22.04

$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 177714481 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 153085323 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 76838482 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 26542398 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 3718162 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 1875945 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Thu May  5 08:04:52 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Ke3YUO/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x40069c219c95a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR     947810.57k  3265820.22k  6556883.80k  9059805.18k 10153061.03k 10245160.96k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 121319971 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 80266306 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 40578185 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 13466334 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 1871394 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 946399 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Thu May  5 08:04:52 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Ke3YUO/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7efa320b078bffff:0x40069c219c95a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM     647039.85k  1712347.86k  3462671.79k  4596508.67k  5110153.22k  5168600.41kopenssl speed -evp aes-128-gcm

@shibukawa
Copy link

shibukawa commented Oct 3, 2022

MacBook Air 2022 M2

macOS 12.5。OpenSSLはMacPorts。

% sysctl -n machdep.cpu.brand_string
Apple M2
 % openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 266378225 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 64 size blocks: 199071108 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 256 size blocks: 102641563 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 1024 size blocks: 35420355 AES-128-CTR's in 2.99s
Doing AES-128-CTR for 3s on 8192 size blocks: 4972471 AES-128-CTR's in 2.98s
Doing AES-128-CTR for 3s on 16384 size blocks: 2507713 AES-128-CTR's in 2.98s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1425435.32k  4261053.82k  8817530.24k 12130583.12k 13669289.41k 13787372.41k
% openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 201217144 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 64 size blocks: 143249362 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 256 size blocks: 63072427 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 1024 size blocks: 16591221 AES-128-GCM's in 2.99s
Doing AES-128-GCM for 3s on 8192 size blocks: 2542971 AES-128-GCM's in 2.98s
Doing AES-128-GCM for 3s on 16384 size blocks: 1293961 AES-128-GCM's in 2.98s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1076747.26k  3066207.08k  5400181.04k  5682077.02k  6990610.21k  7114180.21k
% openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 66894789 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 29754665 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 14610317 ChaCha20-Poly1305's in 2.98s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 5706749 ChaCha20-Poly1305's in 2.99s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 709131 ChaCha20-Poly1305's in 2.98s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 354823 ChaCha20-Poly1305's in 2.99s
version: 3.0.5
built on: Tue Jul  5 17:18:40 2022 UTC
options: bn(64,64)
compiler: /usr/bin/clang -fPIC -arch arm64 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
CPUINFO: OPENSSL_armcap=0x7f
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   357965.43k   636889.15k  1255114.48k  1954418.39k  1949396.36k  1944287.64k

@cactusman
Copy link

cactusman commented Oct 9, 2022

AMD Ryzen 9 7950X

Ubuntu 22.04

$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
$ openssl speed -evp aes-128-ctr
Doing AES-128-CTR for 3s on 16 size blocks: 255384091 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 64 size blocks: 226112189 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 256 size blocks: 110480439 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 1024 size blocks: 37225102 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 8192 size blocks: 5183209 AES-128-CTR's in 3.00s
Doing AES-128-CTR for 3s on 16384 size blocks: 2613718 AES-128-CTR's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-CTR    1362048.49k  4823726.70k  9427664.13k 12706168.15k 14153616.04k 14274385.24k
$ openssl speed -evp aes-128-gcm
Doing AES-128-GCM for 3s on 16 size blocks: 208749840 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 64 size blocks: 123251088 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 256 size blocks: 59714303 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 1024 size blocks: 19470857 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 8192 size blocks: 2650165 AES-128-GCM's in 3.00s
Doing AES-128-GCM for 3s on 16384 size blocks: 1335928 AES-128-GCM's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
AES-128-GCM    1113332.48k  2629356.54k  5095620.52k  6646052.52k  7236717.23k  7295948.12k
$ openssl speed -evp chacha20-poly1305
Doing ChaCha20-Poly1305 for 3s on 16 size blocks: 81882553 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 64 size blocks: 38852929 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 256 size blocks: 32111505 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 1024 size blocks: 15946079 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 8192 size blocks: 2125751 ChaCha20-Poly1305's in 3.00s
Doing ChaCha20-Poly1305 for 3s on 16384 size blocks: 1068498 ChaCha20-Poly1305's in 3.00s
version: 3.0.2
built on: Mon Jul  4 11:20:23 2022 UTC
options: bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-Q8dQt3/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
CPUINFO: OPENSSL_ia32cap=0x7ef8320b078bffff:0x405fdef1bf97a9
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
ChaCha20-Poly1305   436706.95k   828862.49k  2740181.76k  5442928.30k  5804717.40k  5835423.74k

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment