OpenSSL Speed Results

OpenSSL Speed

The cryptographic library OpenSSL provides a tool that provides a means to assess and compare cryptographic method performance.

Real Hardware

Running the test on real hardware systems to provide a set of references:

SystemOperating SystemOpenSSL
Version
MD5
8,192 bytes
RSA
4,096 bytes
sign/s
RSA
4,096 bytes
verify/s
crataegus - IDT WinChip C6
@ 200 MHz
BeOS 5 Professional
x86
0.9.7jc
04 May 2006
18.52k0.00.0
tilia - Intel Pentium
@ 75 MHz
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]a,d
9 Jul 2001
6,075.73k0.14.5
crataegus - IDT WinChip C6
@ 200 MHz
QNX RTOS 6.1.0
x86
0.9.6c [engine]a
21 dec 2001
8,320.34k0.02.4
tilia - Intel Pentium
@ 75 MHz
Linux 2.0.36
RedHat Linux 5.2
x86
0.9.2bb
22 Mar 1999
12,391.77k0.211.2
tilia - Intel Pentium
@ 75 MHz
Linux 2.2.14
RedHat Linux 6.2
x86
0.9.5ab
1 Apr 2000
12,454.57k0.211.1
crataegus - IDT WinChip C6
@ 200 MHz
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]a,d
9 Jul 2001
14,240.43k0.18.6
crataegus - IDT WinChip C6
@ 200 MHz
Linux 2.6.24
Ubuntu 8.04 LTS
x86
0.9.8ga
19 Oct 2007
18,417.03k0.320.4
crataegus - IDT WinChip C6
@ 200 MHz
Linux 2.0.36
RedHat Linux 5.2
x86
0.9.2bb
22 Mar 1999
19,510.61k0.320.2
crataegus - IDT WinChip C6
@ 200 MHz
Linux 2.2.14
RedHat Linux 6.2
x86
0.9.5ab
1 Apr 2000
19,535.19k0.320.1
buxus - MIPS R5900
@ 294 MHz
Linux 2.2.1
PS2 Linux
0.9.6b [engine]a
9 Jul 2001
27,044.52k0.635.0
pyrus - PowerPC 750 (G3)
@ 600 MHz
MacOS X 10.30.9.7la
28 Sep 2006
60,733.13k1.071.6
raspberrypi - ARM1173
@ 700 MHz
Linux 5.10.17
Raspberry Pi OS
1.1.1da
10 Sep 2019
69,209.90k1.7118.2
larix - VIA C3 Nehemiah
@ 1.33 GHz
NetBSD 9.2
x86
1.1.1ka,d
25 Mar 2021
85,262.12k2.5186.5
rosa - VIA C3 Nehemiah
@ 1.0 GHz
Linux 4.9.0
Bodhi Linux 5
x86
1.1.0ga
2 Nov 2017
106,606.70k1.599.6
rosa - VIA C3 Nehemiah
@ 1.0 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86
1.1.1na
15 Mar 2022
106,760.79k1.5100.2
larix - VIA C3 Nehemiah
@ 1.33 GHz
Linux 2.6.24
Ubuntu 8.04 LTS (Hardy Heron)
x86
0.9.8ga
19 Oct 2007
123,998.10k2.4166.0
larix - VIA C3 Nehemiah
@ 1.33 GHz
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]a
9 Jul 2001
129,376.26k2.4148.1
corylus - Intel Pentium III
@ 866 MHz
Linux 2.6.24
Ubuntu 8.04 LTS
x86
0.9.8ga
19 Oct 2007
136,798.21k2.9203.8
corylus - Intel Pentium III
@ 866 MHz
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]a
9 Jul 2001
139,766.44k2.9183.3
larix - VIA C3 Nehemiah
@ 1.33 GHz
Linux 4.9.0
Bodhi Linux 5.0 Legacy
x86
1.1.0ga
2 Nov 2017
139,839.26k1.9131.8
ReadyNAS - Marvell ARMADA 370
@ 1.2 GHz
Linux 4.4
ReadyNAS OS 6
ARM (armv7l)
1.0.1ta
3 May 2016
140,389.03k3.1195.0
larix - VIA C3 Nehemiah
@ 1.33 GHz
NetBSD 9.2
x86
1.1.1kb
25 Mar 2021
140,913.29k1.9132.8
larix - VIA C3 Nehemiah
@ 1.33 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86
1.1.1na
15 Mar 2022
141,496.18k1.9133.0
corylus - Intel Pentium III
@ 866 MHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86
1.1.1na
15 Mar 2022
143,425.06k2.5171.0
acer - AMD Athlon XP 2100+
@ 1.733 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86
1.1.1ka
25 Mar 2021
255,826.02k5.1351.8
ilex - Intel Atom N270
@ 1.6 GHz
Linux 4.9.0
Bodhi Linux 5.0 Legacy
x86
1.1.1a
11 Sep 2018
301,377.93k2.7180.6
sorbus - Intel Pentium Dual E2180
@ 2.0 GHz
Linux 2.6.24
Ubuntu 8.04 LTS
x86
0.9.8ga
19 Oct 2007
352,692.91k11.9881.7
sorbus - Intel Pentium Dual E2180
@ 2.0 GHz
Linux 4.15.0
Ubuntu 18.04 LTS
x86_64
1.1.1a
11 Sep 2018
371,314.04k41.62,632.1
sorbus - Intel Pentium Dual E2180
@ 2.0 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86_64
1.1.1na
15 Mar 2022
371,494.87k42.02,753.9
salix - AMD Athlon XP 3000+
@ 2.167 GHz
Linux 2.6.24
Ubuntu 8.04 LTS (Hardy Heron)
x86
0.9.8ga
19 Oct 2007
383,286.30k9.4663.7
salix - AMD Athlon XP 3000+
@ 2.167 GHz
Linux 3.19.0
Ubuntu 14.04 LTS (Trusty Tahr)
x86
1.0.1fa
6 Jan 2014
392,239.58k8.4532.1
salix - AMD Athlon XP 3000+
@ 2.167 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86
1.1.1na
15 Mar 2022
395,004.59k7.9543.8
salix - AMD Athlon XP 3000+
@ 2.167 GHz
Linux 2.4.18
RedHat Linux 7.3
x86
0.9.6b [engine]a
9 Jul 2001
399,329.96k9.0572.5
drosera - Intel i7-860
@ 2.80 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86_64
1.1.1na
15 Mar 2022
699,282.77k78.85,177.1
helix - AMD Ryzen 5 3600
@ 3.60 GHz
Linux 5.10.0
Debian Linux 11 (bullseye)
x86_64
1.1.1na
15 Mar 2022
816,425.64k286.718,787.4

As with all benchmarks, comparisons should be done with caution... comparing "like with like" should work fine, but variations in versions, architectures and operating systems can have additional effects that distort the performance, so only larger differences will have much meaning.

  1. Operating system supplied OpenSSL binaries used.
  2. Local compile from downloaded OpenSSL source distribution. Version chosen to be contemporary with the operating system release.
  3. Third-party sourced software package for OpenSSL
  4. Version of OpenSSL compiled to use only C methods, the default assembler (asm) method implementations were disabled at compile time.

Emulated Hardware

We expect quite a bit of variation when running on emulated hardware, but this should give some clues to the efficiency of the emulation:

SystemOperating SystemOpenSSL
Version
MD5
8,192 bytes
RSA
4,096 bytes
sign/s
RSA
4,096 bytes
verify/s
AlphaVM-Freeb Alpha 21264 (EV6);
details
Linux 2.6.26
Debian Linux 5 (lenny)
alpha
0.9.8g
19 Oct 2007
3,470.64k0.534.8
AlphaVM-Freeb Alpha 21264A (EV67);
details
Tru64 UNIX 5.1B0.9.6g [engine]
9 Aug 2002
4,328.83k0.422.7
FreeAXPa Alpha 21064 (EV4);
details
Tru64 UNIX 5.1B0.9.6g [engine]
9 Aug 2002
4,576.60k0.321.7
QEMUc Motorola 68040;
details
Linux 5.17.0
Debian Linux (bookworm/sid)
m68k
1.1.1n
15 Mar 2022
4,790.42k0.350.7
PCeme Intel Pentium 75 (i586);
details
Linux 2.4.18
RedHat Linux 7.3 (Valhalla)
x86
0.9.6b [engine]f
9 Jul 2001
6,075.73k0.14.5
QEMUc PA7300LC (PA-RISC 1.1);
details
Linux 2.6.26
Debian Linux 5 (lenny)
hppa
0.9.8g
19 Oct 2007
9,794.54k0.431.2
PCeme Intel Pentium 75 (i586);
details
Linux 2.2.17
Mandrake Linux 7.2 (Odyssey)
x86
0.9.5a
1 Apr 2000
13,494.95k0.210.6
PCeme Intel Pentium 75 (i586);
details
Linux 2.0.36
RedHat Linux 5.2 (Apollo)
x86
0.9.2b
22 Mar 1999
13,514.07k0.210.6
PCeme Intel Pentium 75 (i586);
details
Linux 2.2.14
RedHat Linux 6.2 (Zoot)
x86
0.9.5a
1 Apr 2000
13,516.80k0.210.5
QEMUc PA7300LC (PA-RISC 1.1);
details
HP-UX 11i v10.9.7e
25 Oct 2004
39,654.12k0.01.0
QEMUc PA7300LC (PA-RISC 1.1);
details
NetBSD 9.2
hppa
1.1.1kg
25 Mar 2021
51,716.92kinvalidinvalid
QEMUc microSPARC II (SPARC V8);
details
NetBSD 9.2
sparc
1.1.1kg
25 Mar 2021
65,130.51k1.8136.5
QEMUc UltraSPARC IIi (SPARC V9);
details
NetBSD 9.2
sparc64
1.1.1kg
25 Mar 2021
67,259.05k0.642.2
QEMUc microSPARC II (SPARC V8);
details
Linux 2.6.18
Debian Linux 4 (etch)
sparc
0.9.8c
05 Sep 2006
93,445.95k1.386.3
QEMUc PowerPC 750 (G3);
details
Linux 3.16.0
Debian Linux 8 (jessie)
powerpc
1.0.1t
3 May 2016
108,467.54k2.2157.5
QEMUc Alpha 21264A (EV67);
details
Linux 2.6.26
Debian Linux 5 (lenny)
alpha
0.9.8g
19 Oct 2007
112,009.95k6.2489.9
QEMUc PowerPC 7400 (G4);
details
Linux 3.16.0
Debian Linux 8 (jessie)
powerpc
1.0.1t
3 May 2016
113,646.13k2.2149.2
QEMUc ARM Cortex-A7 (ARMv7);
details
Linux 5.10.17
Raspberry Pi OS
1.1.1d
10 Sep 2019
142,737.41k4.3342.8
QEMUc ARMv7 virt;
details TBC
Linux 4.19.0
Debian Linux 10 (buster)
armhf
1.1.1d
10 Sep 2019
161,215.83k4.9323.5
QEMUc UltraSPARC IIi (SPARC V9);
details
Linux 5.10.0
Debian Linux 11 (bullseye)
sparc64
1.1.1k
25 Mar 2021
242,488.68k2.7176.0

Again compare with caution, small variations could be down to variations in host system load or other factors, but larger variations will likely point to differences in efficiency.

Notes:

  1. FreeAXP test run under MS Windows 10 on a Intel i7-860 system.
  2. AlphaVM-Free tests were run on Debian Linux 10 (buster+backports) virtual machine in VirtualBox under MS Windows 10 on a Intel i7-860 system.
  3. QEMU tests were run on Debian Linux 10 (buster+backports) virtual machine in VirtualBox under MS Windows 10 on a Intel i7-860 system.
  4. QEMU runs x86 and x86_64 processors nativly when running on a compatible host, so these platforms appear much faster than the processor would suggest
  5. PCem tests were run under MS Windows 10 on an Intel i7-860 system.
  6. OpenSSL build uses C-only methods, with the assembler based implementations having been disabled at compile time (no-asm). As of OpenSSL 1.1.1n the source distribution contains assembler implementations for MD5 on SPARC, x86 & x86_64, for RSA a portable C implementation is used on all platforms.
  7. The base installation of NetBSD includes a customized version of OpenSSL, which can differ in performance from a regular OpenSSL build.

Virtual Machine

Unlike emulation, hypervisor style virtualization only needs to emulate some devices, with other interactions being passed through to the underlying host hardware. In this case comparing benchmark results can detect cases where the emulated components of the VM cause performance issues:

SystemOperating SystemOpenSSL
Version
MD5
8,192 bytes
RSA
4,096 bytes
sign/s
RSA
4,096 bytes
verify/s
VirtualBox
Intel i7 860
@ 2.80 GHz; 1 core
details
BeOS 5 Professional
x86 (i586)
0.9.7j
04 May 2006
623.77k0.01.0
VirtualBox
Intel i7 860
@ 2.80 GHz; 2 cores
Linux 4.19.0
Debian Linux 10 (buster)
amd64 (x86_64)
1.1.1d
10 Sep 2019
665,464.38k75.04,881.4
VirtualBox
Intel i7 860
@ 2.80 GHz; 2 cores
NetBSD 9.2
amd64 (x86_64)
1.1.1k
25 Mar 2021
669,940.13k73.04,942.8

As always compare with caution...

Further Sources


No comments: