QuantLib

QuantLib is an open-source library/framework around quantitative finance for modeling, trading and risk management scenarios. QuantLib is written in C++ with Boost and its built-in benchmark used reports the QuantLib Benchmark Index benchmark score. The QuantLib benchmark uses Boost::IPC for parallelism.

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

Project Site

quantlib.org

Source Repository

github.com

Test Created

20 January 2021

Last Updated

4 June 2024

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

5 Minutes, 16 Seconds

Average Run Time

1 Minute, 43 Seconds

Test Dependencies

C/C++ Compiler Toolchain + C++ Boost + CMake

Accolades

20k+ Downloads + Recently Updated Test Profile

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsQuantLib Popularity Statisticspts/quantlib2021.012021.022021.032021.042021.052021.062021.072021.082021.092021.102021.112021.122022.012022.022022.032022.042022.052022.062022.072022.082022.092022.102022.112022.122023.012023.022023.032023.042023.052023.062023.072023.082023.092023.102023.112023.122024.012024.022024.032024.042024.052024.0617003400510068008500
* 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 7 June 2024.

Revision History

pts/quantlib-2.0.0   [View Source]   Tue, 04 Jun 2024 14:47:52 GMT
Update against new upstream QuantLib benchmark.

pts/quantlib-1.2.0   [View Source]   Mon, 23 Oct 2023 17:10:31 GMT
Update against QuantLib 1.32 upstream, add new multi-threaded benchmark capability.

pts/quantlib-1.1.0   [View Source]   Sat, 29 Apr 2023 08:35:01 GMT
Update against QuantLib 1.30 upstream.

pts/quantlib-1.0.0   [View Source]   Wed, 20 Jan 2021 09:43:09 GMT
Initial commit of QuantLib benchmark

Suites Using This Test

Finance


Performance Metrics

Analyze Test Configuration:

QuantLib 1.32

Configuration: Multi-Threaded

OpenBenchmarking.org metrics for this test profile configuration based on 665 public results since 23 October 2023 with the latest data as of 4 June 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
MFLOPS (Average)
100th
6
787644 +/- 43200
100th
12
611997 +/- 43851
99th
5
598223 +/- 6825
97th
11
384287 +/- 4030
94th
12
349159 +/- 1164
92nd
6
330160 +/- 1562
87th
4
288347 +/- 252
87th
9
288031 +/- 33390
86th
3
262433
84th
4
251528 +/- 58
81st
3
233836
80th
9
203209 +/- 23005
80th
11
195933 +/- 676
77th
7
179570 +/- 96
76th
8
177535 +/- 1195
Mid-Tier
75th
< 176446
74th
10
165887 +/- 10406
73rd
13
161487 +/- 1419
68th
6
143823 +/- 104
67th
3
117081 +/- 262
65th
4
102924 +/- 609
65th
5
101819 +/- 12100
63rd
5
97164 +/- 3642
62nd
7
96783 +/- 370
59th
11
85487 +/- 3577
58th
19
84970 +/- 3093
57th
5
83319 +/- 104
54th
8
80649 +/- 1521
52nd
7
77819 +/- 1535
52nd
4
68907 +/- 304
51st
4
64485 +/- 17
Median
50th
64092
48th
11
56137 +/- 1189
46th
5
55604 +/- 11
45th
4
55260 +/- 623
44th
12
46287 +/- 236
42nd
5
45067 +/- 688
42nd
11
44920 +/- 815
40th
4
43633 +/- 284
38th
4
40560 +/- 221
37th
4
40140 +/- 199
35th
14
39767 +/- 828
34th
6
34367 +/- 757
32nd
4
33363 +/- 196
31st
3
32257 +/- 496
29th
4
31365 +/- 19
27th
11
30672 +/- 1323
27th
5
29921 +/- 1874
26th
16
29777 +/- 1322
Low-Tier
25th
< 29501
25th
4
28606 +/- 87
23rd
6
27153 +/- 3475
23rd
5
26723 +/- 124
17th
4
22196 +/- 63
17th
4
21849 +/- 214
15th
6
21207 +/- 57
15th
3
20724 +/- 782
14th
3
19404 +/- 191
13th
12
17496 +/- 70
11th
3
17311 +/- 32
11th
6
16771 +/- 2125
10th
4
13888 +/- 314
9th
8
12993 +/- 1068
8th
3
11975 +/- 1334
8th
5
10888 +/- 257
6th
12
8922 +/- 648
5th
5
7463 +/- 147
OpenBenchmarking.orgDistribution Of Public Results - Configuration: Multi-Threaded665 Results Range From 2077 To 853902 MFLOPS20771911436151531887022587262104299121336138373155410172447189484206521223558240595257632274669291706308743325780342817359854376891393928410965428002445039462076479113496150513187530224547261564298581335598372615409632446649483666520683557700594717631734668751705768742785779802816819853836890853927306090120150

Based on OpenBenchmarking.org data, the selected test / test configuration (QuantLib 1.32 - Configuration: Multi-Threaded) 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 BenchmarkConfiguration: Multi-ThreadedRun-Time48121620Min: 1 / Avg: 3.37 / Max: 14

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 RunsConfiguration: Multi-ThreadedDeviation246810Min: 0 / Avg: 0.34 / Max: 3

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 BaseQuantLib CPU Core ScalingConfiguration: Multi-Threaded468121416243264963691215

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
SSE 4.2 (SSE4_2)
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
POPCNT
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

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

 
VINSERTI128 VPBROADCASTQ VPBROADCASTB VEXTRACTI128 VPERMQ VPERMPD VPBROADCASTD VGATHERQPD VPGATHERQQ
FMA (FMA)
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFMADD132SD VFMADD231SD VFMADD213SD VFMSUB132SD VFNMADD132SD VFNMADD231SD VFMADD132PD VFNMADD132PD VFMSUB231SD VFMSUB132PD VFNMADD213SD VFMADD213PD VFMADD231PD VFNMSUB132SD VFMSUB213SD VFMSUB231PD VFNMSUB231SD VFNMSUB213SD VFNMADD231PD VFNMADD213PD
Last automated analysis: 6 June 2024

This test profile binary relies on the shared libraries libQuantLib.so.1, libm.so.6, 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)
ARMv8 64-bit
aarch64
ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 128-Core, ARMv8 Neoverse-N1 160-Core, ARMv8 Neoverse-V2 72-Core, Apple M2

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 107 Benchmark Results

AMD Ryzen Threadripper 7980X 64-Cores - System76 Thelio Major thelio-major-r5 - AMD [AMD]

FreeBSD - 14.0-RELEASE - Clang 16.0.6

4 Systems - 71 Benchmark Results

AMD Ryzen Threadripper 3970X 32-Core - ASUS ROG ZENITH II EXTREME - AMD Starship

Ubuntu 22.04 - 6.5.0-26-generic - GNOME Shell 42.2

3 Systems - 2 Benchmark Results

AMD Ryzen Threadripper 7980X 64-Cores - System76 Thelio Major - AMD Device 14a4

Ubuntu 24.04 - 6.8.0-060800-generic - GNOME Shell 46.0

3 Systems - 1 Benchmark Result

Intel Core i9-14900K - ASUS PRIME Z790-P WIFI - Intel Raptor Lake-S PCH

Ubuntu 24.04 - 6.8.0-31-generic - GNOME Shell 46.0

2 Systems - 1 Benchmark Result

AMD Ryzen 9 7950X 16-Core - ASUS ROG STRIX X670E-E GAMING WIFI - AMD Device 14d8

Ubuntu 24.04 - 6.8.0-31-generic - GNOME Shell 46.0

22 Systems - 263 Benchmark Results

2 x Intel Xeon Max 9468 - Quanta Cloud QuantaGrid D54Q-2U S6Q-MB-MPS - Intel Device 1bce

Ubuntu 24.04 - 6.9.0-060900rc3-generic - GCC 13.2.0

2 Systems - 160 Benchmark Results

Intel Xeon E3-1280 v5 - MSI Z170A SLI PLUS - Intel Xeon E3-1200 v5

Ubuntu 20.04 - 6.1.0-phx - GNOME Shell 3.36.9

8 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

7 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

6 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

5 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

4 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

3 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

2 Systems - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

1 System - 2 Benchmark Results

2 x Intel Xeon E5-2620 v2 - ASUS Z9PE-D8 WS - Intel Xeon E7 v2

CentOS Stream 9 - 5.14.0-437.el9.x86_64 - X Server

Most Popular Test Results

Find More Test Results