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

7 September 2021

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

1 Minute, 47 Seconds

Average Run Time

1 Minute, 16 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

300k+ Downloads + 30k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsOpenSSL Popularity Statisticspts/openssl2010.122011.042011.082011.122012.042012.082012.122013.042013.082013.122014.042014.082014.122015.042015.082015.122016.042016.082016.122017.042017.082017.122018.042018.082018.122019.042019.082019.122020.042020.082020.122021.042021.082021.122022.042022.08100K200K300K400K500K
* 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 current as of 27 November 2022.

Revision History

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 3.0

Algorithm: RSA4096

OpenBenchmarking.org metrics for this test profile configuration based on 2,666 public results since 7 September 2021 with the latest data as of 3 December 2022.

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
sign/s (Average)
100th
9
48369 +/- 3656
100th
5
41995 +/- 103
100th
10
34992 +/- 89
100th
32
27301 +/- 1028
100th
24
27027 +/- 74
98th
15
24955 +/- 90
98th
8
24054 +/- 1976
97th
5
20715 +/- 29
97th
5
19855 +/- 341
96th
18
17729 +/- 162
96th
8
17541 +/- 5
95th
18
16946 +/- 132
95th
5
15860 +/- 29
94th
15
13706 +/- 517
94th
15
13644 +/- 101
92nd
4
13128 +/- 15
92nd
5
12991 +/- 24
91st
6
12596 +/- 2
91st
12
12590 +/- 38
91st
3
12395 +/- 269
90th
4
9954 +/- 82
90th
4
9819 +/- 155
89th
6
8518 +/- 69
89th
14
8473 +/- 75
88th
9
7773 +/- 148
87th
5
7690 +/- 5
85th
9
6795 +/- 23
85th
9
6513 +/- 13
84th
23
6034 +/- 91
83rd
15
5734 +/- 157
82nd
12
5200 +/- 101
81st
67
4917 +/- 172
79th
13
4732 +/- 32
79th
4
4611 +/- 2
78th
3
4400 +/- 30
78th
6
4382 +/- 1
78th
3
4340 +/- 12
76th
44
4126 +/- 295
Mid-Tier
75th
< 3821
75th
25
3818 +/- 47
74th
6
3577 +/- 209
73rd
9
3441 +/- 474
73rd
4
3291 +/- 22
72nd
9
2979 +/- 227
72nd
19
2825 +/- 110
71st
3
2695 +/- 17
70th
12
2602 +/- 65
70th
13
2559 +/- 46
70th
7
2557 +/- 45
68th
7
2481 +/- 63
68th
28
2479 +/- 68
68th
7
2436 +/- 42
67th
8
2373 +/- 2
66th
8
2364 +/- 56
66th
3
2300 +/- 2
66th
5
2279 +/- 10
66th
4
2243 +/- 14
65th
5
2202 +/- 45
64th
10
2092 +/- 1
64th
4
2053 +/- 17
63rd
3
1982 +/- 1
63rd
3
1970 +/- 11
62nd
14
1933 +/- 110
62nd
3
1921 +/- 10
62nd
10
1912 +/- 88
60th
9
1790 +/- 153
60th
13
1757 +/- 124
59th
3
1750 +/- 20
59th
9
1735 +/- 159
59th
5
1716 +/- 10
59th
6
1701 +/- 18
58th
6
1682 +/- 3
58th
5
1622 +/- 197
58th
4
1593 +/- 35
58th
3
1585 +/- 6
56th
12
1523 +/- 44
56th
11
1483 +/- 46
56th
6
1472 +/- 99
55th
5
1429 +/- 37
55th
15
1407 +/- 5
54th
3
1380 +/- 10
54th
5
1250 +/- 9
54th
3
1231 +/- 3
53rd
3
1221 +/- 2
53rd
3
1221 +/- 8
52nd
5
1155 +/- 12
52nd
5
1150 +/- 19
52nd
4
1138 +/- 28
52nd
3
1133 +/- 2
52nd
3
1129 +/- 6
51st
6
1107 +/- 4
51st
4
1100 +/- 4
Median
50th
1093
50th
4
1063 +/- 1
49th
3
1041 +/- 14
49th
4
1027 +/- 4
48th
4
979 +/- 1
48th
5
978 +/- 47
47th
6
968 +/- 4
47th
3
960 +/- 32
47th
6
944 +/- 89
47th
15
943 +/- 76
47th
5
938 +/- 61
44th
8
812 +/- 79
44th
5
781 +/- 45
43rd
3
779 +/- 18
43rd
6
759 +/- 1
42nd
7
726 +/- 63
42nd
11
701 +/- 69
41st
10
686 +/- 2
41st
5
679 +/- 1
40th
3
644 +/- 7
39th
5
594 +/- 6
36th
7
498 +/- 2
35th
15
472 +/- 2
34th
3
434 +/- 5
33rd
3
375 +/- 2
32nd
3
342 +/- 2
Low-Tier
25th
< 247
7th
26
86 +/- 2
OpenBenchmarking.orgDistribution Of Public Results - Algorithm: RSA40962663 Results Range From 2 To 51632 sign/s2103520683101413451676200723382669299103321136512398134311446415497165301756318596196292066221695227282376124794258272686027893289262995930992320253305834091351243615737190382233925640289413224235543388444214545446487475204855349586506195165230060090012001500

Based on OpenBenchmarking.org data, the selected test / test configuration (OpenSSL 3.0 - Algorithm: RSA4096) has an average run-time of 4 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 BenchmarkAlgorithm: RSA4096Run-Time3691215Min: 3 / Avg: 3.11 / Max: 11

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsAlgorithm: RSA4096Deviation3691215Min: 0 / Avg: 0.34 / Max: 8

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.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseOpenSSL CPU Core ScalingAlgorithm: RSA409624681216243264128918273645

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 PUNPCKLQDQ MOVDQU PADDQ PSRLDQ MOVD ADDSD CVTSI2SD DIVSD MULSD COMISD MOVAPD PSHUFD PSHUFLW SHUFPD PSUBQ PSLLDQ PUNPCKHQDQ XORPD CVTTSD2SI SUBSD UCOMISD 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 VPERMQ VPBLENDD 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: 18 January 2022

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)
sun4v
SPARC-T3 sparcv9
IBM Z
s390x
(Many Processors)
RISC-V 64-bit
riscv64
SiFive RISC-V, rv64imafdc, rv64imafdcsu
Loongson LoongArch 64-bit
loongarch64
Loongson-3A5000LL
Itanium 64-bit
ia64
2 x Madison, 2 x Madison up 9M cache
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 Cortex-A15 8-Core, ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A72, ARMv7 Cortex-A72 4-Core, ARMv7 rev 1 4-Core
ARMv6 32-bit
armv6l
ARMv7
ARMv8 64-bit
aarch64
ARMv8, ARMv8 Cortex-A53, ARMv8 Cortex-A53 24-Core, ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A55 8-Core, ARMv8 Cortex-A57, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A57 8-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 16-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 6-Core, ARMv8 Cortex-A73 2-Core, ARMv8 Cortex-A77 8-Core, ARMv8 Cortex-A78E 12-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 2-Core, ARMv8 Neoverse-N1 32-Core, ARMv8 Neoverse-N1 4-Core, ARMv8 Neoverse-N1 8-Core, ARMv8 Neoverse-V1, ARMv8 Neoverse-V1 4-Core, ARMv8 rev 0 4-Core, ARMv8 rev 0 8-Core, Ampere ARMv8 Neoverse-N1 128-Core, Ampere ARMv8 Neoverse-N1 160-Core, Ampere ARMv8 Neoverse-N1 256-Core, Ampere eMAG ARMv8 32-Core, Apple M1, Apple M2, HUAWEI Kunpeng 920, HUAWEI Kunpeng 920 5221K, Phytium FT-2000, Phytium S2500, Rockchip ARMv8 Cortex-A76 4-Core, Snapdragon