OpenSSL

OpenSSL is an open-source toolkit that implements SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. This test profile makes use of the built-in "openssl speed" benchmarking capabilities.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark openssl.

Project Site

openssl.org

Source Repository

github.com

Test Created

6 December 2010

Last Updated

11 April 2024

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

2 Minutes, 54 Seconds

Average Run Time

1 Minute, 16 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

300k+ Downloads + 40k+ Public Benchmark Results + Recently Updated Test Profile

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsOpenSSL Popularity Statisticspts/openssl2010.122011.052011.102012.032012.082013.012013.062013.112014.042014.092015.022015.072015.122016.052016.102017.032017.082018.012018.062018.112019.042019.092020.022020.072020.122021.052021.102022.032022.082023.012023.062023.112024.04160K320K480K640K800K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 21 April 2024.

Revision History

pts/openssl-3.3.0   [View Source]   Thu, 11 Apr 2024 10:44:17 GMT
Update against OpenSSL 3.3 upstream.

pts/openssl-3.1.0   [View Source]   Tue, 14 Mar 2023 13:39:40 GMT
Update against OpenSSL 3.1 upstream.

pts/openssl-3.0.1   [View Source]   Tue, 07 Sep 2021 20:55:02 GMT
Fix typo from prior commit causing issues for some builds.

pts/openssl-3.0.0   [View Source]   Tue, 07 Sep 2021 18:58:07 GMT
Update against OpenSSL 3.0.0 upstream.

pts/openssl-1.9.2   [View Source]   Fri, 11 Oct 2019 11:13:00 GMT
Enable Windows support.

pts/openssl-1.11.0   [View Source]   Wed, 12 Sep 2018 07:52:48 GMT
Upgrade against OpenSSL 1.1.1 upstream.

pts/openssl-1.10.0   [View Source]   Tue, 06 Feb 2018 20:00:34 GMT
Update against OpenSSL 1.1.0f upstream, update download mirrors

pts/openssl-1.9.0   [View Source]   Sun, 27 Apr 2014 15:14:05 GMT
Update against latest upstream OpenSSL package 1.0.1.g.

pts/openssl-1.8.0   [View Source]   Sat, 11 Jan 2014 03:39:52 GMT
Update against OpenSSL 1.0.1f.

pts/openssl-1.7.0   [View Source]   Thu, 04 Oct 2012 00:24:30 GMT
Update against upstream OpenSSL 1.0.1c release.

pts/openssl-1.6.0   [View Source]   Wed, 07 Dec 2011 13:45:47 GMT
Update against upstream OpenSSL 1.0.0e.

pts/openssl-1.5.0   [View Source]   Mon, 06 Dec 2010 15:07:58 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Cryptography

C/C++ Compiler Tests

Server

Common Kernel Benchmarks

CPU Massive

Server CPU Tests


Performance Metrics

Analyze Test Configuration:

OpenSSL 1.1.1

RSA 4096-bit Performance

OpenBenchmarking.org metrics for this test profile configuration based on 10,366 public results since 12 September 2018 with the latest data as of 24 April 2024.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Signs Per Second (Average)
100th
7
24650 +/- 401
100th
37
23758 +/- 2155
100th
3
22862 +/- 23
100th
6
22387 +/- 342
100th
3
20484 +/- 2
100th
4
19953 +/- 320
100th
8
17320 +/- 270
100th
7
16953 +/- 2380
100th
3
15667 +/- 271
100th
6
15376 +/- 397
100th
4
14423 +/- 178
100th
6
14053 +/- 421
100th
43
13709 +/- 155
99th
3
12899 +/- 108
99th
6
12602 +/- 14
99th
5
12470 +/- 75
99th
5
12445 +/- 424
99th
6
11817 +/- 909
99th
5
11656 +/- 129
98th
3
10301 +/- 2
98th
20
10295 +/- 11
98th
3
10211 +/- 529
98th
16
9815 +/- 117
97th
8
8682 +/- 128
97th
4
8670 +/- 1136
97th
15
8228 +/- 194
97th
6
8067 +/- 138
96th
6
7943 +/- 1
96th
23
7836 +/- 101
96th
6
7824 +/- 102
96th
6
7454 +/- 141
95th
11
7277 +/- 262
95th
9
6951 +/- 872
95th
7
6774 +/- 86
95th
6
6752 +/- 61
95th
3
6542 +/- 3
95th
7
6491 +/- 1
95th
3
6441 +/- 217
95th
12
6356 +/- 19
94th
7
6187 +/- 102
94th
10
6020 +/- 34
94th
11
5851 +/- 104
93rd
23
5583 +/- 63
93rd
5
5444 +/- 24
93rd
7
5342 +/- 207
93rd
45
5230 +/- 418
92nd
20
4930 +/- 12
92nd
9
4837 +/- 47
92nd
75
4804 +/- 525
92nd
67
4787 +/- 314
91st
48
4701 +/- 136
91st
7
4675 +/- 91
90th
29
4551 +/- 32
90th
34
4416 +/- 53
89th
8
4379 +/- 7
89th
9
4354 +/- 24
89th
11
4341 +/- 515
88th
3
3906 +/- 102
88th
7
3878 +/- 112
88th
17
3847 +/- 90
87th
7
3757 +/- 1
87th
33
3727 +/- 313
86th
121
3541 +/- 79
86th
34
3530 +/- 392
85th
5
3402 +/- 30
85th
18
3396 +/- 57
85th
7
3394 +/- 10
84th
5
3281 +/- 5
84th
8
3115 +/- 110
84th
8
3069 +/- 68
84th
4
3005 +/- 45
84th
4
2983 +/- 5
83rd
3
2920 +/- 83
83rd
79
2693 +/- 191
82nd
17
2622 +/- 345
82nd
11
2586 +/- 81
82nd
11
2567 +/- 84
82nd
16
2561 +/- 108
82nd
10
2494 +/- 48
81st
15
2464 +/- 52
81st
3
2457 +/- 44
81st
14
2394 +/- 218
81st
80
2390 +/- 58
80th
18
2364 +/- 100
80th
3
2358 +/- 1
80th
8
2290 +/- 26
80th
9
2278 +/- 15
79th
3
2151 +/- 90
79th
6
2058 +/- 15
79th
3
2047 +/- 4
79th
4
2042 +/- 168
78th
3
2027 +/- 16
78th
25
2006 +/- 121
78th
19
1991 +/- 166
78th
30
1990 +/- 42
77th
14
1893 +/- 151
77th
6
1876 +/- 7
77th
4
1860 +/- 10
77th
5
1855 +/- 10
77th
9
1797 +/- 56
76th
10
1783 +/- 139
Mid-Tier
75th
< 1694
75th
5
1677 +/- 194
75th
4
1638 +/- 33
75th
10
1635 +/- 23
75th
5
1632 +/- 105
75th
4
1624 +/- 111
75th
9
1623 +/- 70
74th
25
1520 +/- 118
74th
5
1481 +/- 44
73rd
7
1463 +/- 122
73rd
6
1458 +/- 1
73rd
4
1438 +/- 79
73rd
40
1420 +/- 108
73rd
5
1379 +/- 36
72nd
20
1333 +/- 63
72nd
5
1271 +/- 9
72nd
14
1271 +/- 20
72nd
6
1251 +/- 4
71st
19
1226 +/- 46
71st
8
1218 +/- 44
71st
18
1187 +/- 78
70th
28
1184 +/- 2
70th
63
1173 +/- 16
70th
5
1167 +/- 7
70th
5
1164 +/- 18
69th
7
1135 +/- 26
69th
3
1130 +/- 2
69th
10
1114 +/- 65
68th
12
1059 +/- 53
68th
5
1047 +/- 9
68th
16
1041 +/- 5
68th
4
1032 +/- 4
67th
4
1010 +/- 4
67th
5
994 +/- 15
67th
4
974 +/- 14
67th
8
969 +/- 113
65th
4
925 +/- 84
65th
22
920 +/- 30
65th
4
917 +/- 1
65th
3
907 +/- 15
65th
7
902 +/- 90
65th
11
887 +/- 26
65th
5
879 +/- 18
64th
8
850 +/- 21
64th
11
839 +/- 88
64th
7
836 +/- 77
64th
11
833 +/- 23
62nd
12
785 +/- 51
62nd
13
785 +/- 21
61st
14
781 +/- 102
61st
9
765 +/- 20
61st
17
762 +/- 44
61st
12
759 +/- 25
60th
4
742 +/- 43
60th
5
715 +/- 28
60th
8
707 +/- 43
60th
8
704 +/- 79
60th
4
700 +/- 8
60th
10
696 +/- 95
59th
6
687 +/- 54
59th
5
684 +/- 5
59th
5
670 +/- 1
59th
3
657 +/- 15
59th
14
648 +/- 70
58th
7
626 +/- 74
58th
5
619 +/- 9
58th
6
619 +/- 75
58th
17
610 +/- 24
58th
4
593 +/- 28
58th
5
583 +/- 19
57th
10
556 +/- 60
57th
4
545 +/- 4
56th
4
528 +/- 64
56th
4
523 +/- 4
56th
7
522 +/- 32
55th
6
516 +/- 22
55th
5
515 +/- 33
55th
4
499 +/- 22
55th
6
498 +/- 10
54th
9
492 +/- 42
53rd
14
450 +/- 35
53rd
3
442 +/- 1
53rd
6
439 +/- 5
52nd
5
427 +/- 28
52nd
4
418 +/- 12
52nd
11
408 +/- 6
Median
50th
398
45th
4
369 +/- 3
44th
17
362 +/- 7
43rd
8
348 +/- 32
43rd
6
343 +/- 32
43rd
4
338 +/- 7
41st
47
289 +/- 3
41st
4
278 +/- 2
40th
3
266 +/- 1
40th
3
266 +/- 22
40th
4
259 +/- 35
39th
4
249 +/- 18
36th
4
235 +/- 3
36th
3
225 +/- 2
36th
12
225 +/- 1
34th
4
208 +/- 1
33rd
6
203 +/- 10
33rd
8
202 +/- 1
33rd
10
198 +/- 26
30th
5
178 +/- 8
30th
5
178 +/- 1
Low-Tier
25th
< 161
23rd
4
155 +/- 16
22nd
8
153 +/- 20
19th
14
143 +/- 15
18th
6
134 +/- 10
18th
4
128 +/- 1
8th
5
102 +/- 4
8th
4
101 +/- 3
2nd
3
30 +/- 2
OpenBenchmarking.orgDistribution Of Public Results - RSA 4096-bit Performance10366 Results Range From 2 To 29089 Signs Per Second2584116617482330291234944076465852405822640469867568815087329314989610478110601164212224128061338813970145521513415716162981688017462180441862619208197902037220954215362211822700232822386424446250282561026192267742735627938285202910212002400360048006000

Based on OpenBenchmarking.org data, the selected test / test configuration (OpenSSL 1.1.1 - RSA 4096-bit Performance) has an average run-time of 2 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkRSA 4096-bit PerformanceRun-Time246810Min: 1 / Avg: 1.5 / Max: 5

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.8%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsRSA 4096-bit PerformanceDeviation3691215Min: 0 / Avg: 0.84 / Max: 9

Does It Scale Well With Increasing Cores?

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

AMDIntelOpenBenchmarking.orgRelative Core Scaling To BaseOpenSSL CPU Core ScalingRSA 4096-bit Performance246810121620243240486412820406080100

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
MOVDQA MOVDQU PUNPCKLQDQ PADDQ PSRLDQ MOVD ADDSD CVTSI2SD DIVSD MULSD COMISD MOVAPD CVTSS2SD ANDPD UCOMISD SHUFPD PSUBQ PUNPCKHQDQ PSHUFD PSHUFLW PSLLDQ XORPD CVTTSD2SI SUBSD CLFLUSH
SSSE3 (SSSE3)
Used by default on supported hardware.
 
PSHUFB PALIGNR
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VZEROALL VEXTRACTF128 VINSERTF128 VBROADCASTSD VBROADCASTSS VPERM2F128
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VINSERTI128 VPBROADCASTQ VPBLENDD VPERMQ VPERMD VPBROADCASTD VEXTRACTI128 VPERM2I128 VPSRLVQ VPSLLVQ VPBROADCASTB VPSRLVD VPSLLVD VPBROADCASTW
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
AESENC AESENCLAST AESDEC AESDECLAST AESIMC AESKEYGENASSIST
Advanced Vector Extensions 512 (AVX512)
Used by default on supported hardware.
 
(ZMM REGISTER USE)
Vector AES (VAES)
Used by default on supported hardware.
Found on Intel processors since Ice Lake (2019).
Found on AMD processors since Zen 3 (2020).

 
VAESENC VAESENCLAST VAESDEC VAESDECLAST
The test / benchmark does honor compiler flag changes.
Last automated analysis: 20 April 2024

This test profile binary relies on the shared libraries libssl.so.3, libcrypto.so.3, libc.so.6.

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
SPARC64
sparc64
(Many Processors)
IBM Z
s390x
(Many Processors)
IBM POWER (PowerPC) 64-bit
ppc64le
POWER8, POWER9 22-Core, POWER9 4-Core, POWER9 44-Core, POWER9 8-Core, POWER9 80-Core, POWER9 altivec supported 176-Core, POWER9 altivec supported 44-Core
MIPS 64-bit
mips64
Loongson-3A R4
Loongson LoongArch 64-bit
loongarch64
Loongson-3A5000, Loongson-3A6000
Intel / AMD x86 32-bit
i686
(Many Processors)
Intel / AMD x86 32-bit
i386
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 4-Core, ARMv7 Cortex-A15 8-Core, ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A7 4-Core, ARMv7 Cortex-A72 4-Core, ARMv7 rev 1 4-Core, ARMv7 rev 10 2-Core, ARMv7 rev 10 4-Core, ARMv7 rev 2, ARMv7 rev 2 4-Core, ARMv7 rev 3 4-Core, ARMv7 rev 3 8-Core, ARMv7 rev 4 4-Core, ARMv7 rev 5 2-Core, ARMv7 rev 5 4-Core
ARMv6 32-bit
armv6l
ARMv6-compatible rev 7
ARMv8 64-bit
arm64
(Many Processors)
DEC Alpha
alpha
Alpha
ARMv8 64-bit
aarch64
AArch64 rev 2, AArch64 rev 4, ARMVv8 Cortex-A53 4-Core, ARMVv8 Cortex-A72 6-Core, ARMv8, ARMv8 2-Core, ARMv8 Cortex-A53 3-Core, ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A53 8-Core, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A57 2-Core, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A57 8-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 16-Core, ARMv8 Cortex-A72 2-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 6-Core, ARMv8 Cortex-A72 8-Core, ARMv8 Cortex-A73 6-Core, ARMv8 Cortex-A73 8-Core, ARMv8 Cortex-A75 8-Core, ARMv8 Cortex-A77 6-Core, ARMv8 Cortex-A77 8-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 16-Core, ARMv8 Neoverse-N1 32-Core, ARMv8 Neoverse-N1 4-Core, ARMv8 Neoverse-N1 64-Core, ARMv8 Neoverse-N1 8-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 rev 0 4-Core, ARMv8 rev 0 6-Core, ARMv8 rev 0 8-Core, ARMv8 rev 3 4-Core, ARMv8 rev 3 6-Core, ARMv8 rev 4 4-Core, Amlogic ARMv8 Cortex-A53 4-Core, Ampere Altra ARMv8 Neoverse-N1 160-Core, Ampere eMAG ARMv8 32-Core, Cavium ThunderX, FT-2000, FT2000AHK, HUAWEI Kunpeng 920, HUAWEI Kunpeng 920 2249K, Phytium D2000, Phytium FT-2000, Phytium FT1500A, Phytium FT2000A 4-Core, Phytium FT2000PLUS, Rockchip ARMv8 Cortex-A53 4-Core, Rockchip ARMv8 Cortex-A72 6-Core, Rockchip ARMv8 Cortex-A76 4-Core, Rockchip ARMv8 Cortex-A76 8-Core, SiFive RISC-V