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.

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

23 October 2023

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

4 Minutes, 58 Seconds

Average Run Time

2 Minutes, 8 Seconds

Test Dependencies

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

Accolades

10k+ Downloads

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.1113002600390052006500
* 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 29 November 2023.
Multi-Threaded55.6%Single-Threaded44.4%Configuration Option PopularityOpenBenchmarking.org

Revision History

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 249 public results since 23 October 2023 with the latest data as of 3 December 2023.

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)
99th
9
601299 +/- 46141
93rd
6
330160 +/- 1562
86th
4
252853 +/- 1731
85th
4
251528 +/- 58
79th
6
218530 +/- 1308
78th
8
177535 +/- 1195
Mid-Tier
75th
< 162136
75th
7
160409 +/- 1045
67th
3
117081 +/- 262
61st
6
96916 +/- 130
57th
6
88589 +/- 278
55th
9
86947 +/- 3221
Median
50th
79106
50th
7
77819 +/- 1535
48th
4
68907 +/- 304
46th
6
56354 +/- 751
43rd
5
55604 +/- 11
41st
4
55260 +/- 623
39th
6
45629 +/- 58
37th
5
45067 +/- 688
33rd
4
40140 +/- 199
30th
4
33363 +/- 196
28th
4
31365 +/- 19
Low-Tier
25th
< 28681
25th
4
28606 +/- 87
24th
3
28558 +/- 238
23rd
4
27772 +/- 2704
21st
3
23249 +/- 1022
18th
6
22409 +/- 265
17th
4
21849 +/- 214
15th
3
20724 +/- 782
14th
3
19404 +/- 191
13th
5
17558 +/- 996
11th
4
13888 +/- 314
8th
6
13561 +/- 212
7th
3
11975 +/- 1334
6th
8
9006 +/- 191
2nd
4
7405 +/- 79
OpenBenchmarking.orgDistribution Of Public Results - Configuration: Multi-Threaded248 Results Range From 7336 To 853902 MFLOPS733624268412005813275064919961089281258601427921597241766561935882105202274522443842613162782482951803121123290443459763629083798403967724137044306364475684645004814324983645152965322285491605660925830245999566168886338206507526676846846167015487184807354127523447692767862088031408200728370048539361122334455

Based on OpenBenchmarking.org data, the selected test / test configuration (QuantLib 1.32 - Configuration: Multi-Threaded) has an average run-time of 3 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-Time3691215Min: 2 / Avg: 2.94 / Max: 9

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsConfiguration: Multi-ThreadedDeviation246810Min: 0 / Avg: 0.21 / Max: 2

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-Threaded481432642.114.226.338.4410.55

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
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 VPERMPD VPBROADCASTD VGATHERQPD VPGATHERQQ VPERMQ
FMA (FMA)
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

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

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 160-Core, Apple M2

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 2 Benchmark Results

Intel Core i5-10500 - Dell 0NDYHG - Intel Tiger Lake-H

Debian 12 - 6.1.0-13-amd64 - GCC 12.2.0

1 System - 2 Benchmark Results

Intel Core i5-10500 - Dell 0NDYHG - Intel Tiger Lake-H

Debian 12 - 6.1.0-13-amd64 - GCC 12.2.0

1 System - 2 Benchmark Results

Intel Core i5-10500 - Dell 0NDYHG - Intel Tiger Lake-H

Debian 12 - 6.1.0-13-amd64 - GCC 12.2.0

1 System - 2 Benchmark Results

Intel Core i5-10500 - Dell 0NDYHG - Intel Tiger Lake-H

Debian 12 - 6.1.0-13-amd64 - GCC 12.2.0

2 Systems - 180 Benchmark Results

4 Systems - 177 Benchmark Results

AMD Ryzen 9 7950X3D 16-Core - ASRockRack B650D4U-2L2T/BCM - AMD Device 14d8

Ubuntu 22.04 - 6.6.0-rc4-phx-amd-pref-core - GNOME Shell 42.9

4 Systems - 350 Benchmark Results

AMD EPYC 8534P 64-Core - AMD Cinnabar - AMD Device 14a4

Ubuntu 23.10 - 6.5.0-5-generic - GNOME Shell 45.0

10 Systems - 143 Benchmark Results

2 x AMD EPYC 9684X 96-Core - AMD Titanite_4G - AMD Device 14a4

Ubuntu 23.10 - 6.6.0-rc5-phx-patched - GNOME Shell 45.0

4 Systems - 415 Benchmark Results

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

Ubuntu 23.10 - 6.5.0-9-generic - GNOME Shell 45.0

1 System - 7 Benchmark Results

16 x AMD Ryzen Threadripper 3960X 24-Core - Intel 440BX - Intel 440BX

Ubuntu 20.04 - 5.15.0-75-generic - GNOME Shell 3.36.9

1 System - 12 Benchmark Results

8 x AMD Ryzen Threadripper 3960X 24-Core - Intel 440BX - Intel 440BX

Ubuntu 20.04 - 5.15.0-88-generic - GNOME Shell 3.36.4

2 Systems - 8 Benchmark Results

AMD Ryzen 7 5700G - 32GB - 931GB

Ubuntu 20.04 - 4.4.0-19041-Microsoft - 1.1.182

2 Systems - 8 Benchmark Results

AMD Ryzen 7 5700G - 32GB - 931GB

Ubuntu 20.04 - 4.4.0-19041-Microsoft - 1.1.182

1 System - 8 Benchmark Results

AMD Ryzen 7 5700G - 32GB - 931GB

Debian GNU - 4.4.0-19041-Microsoft - GCC 12.2.0

1 System - 8 Benchmark Results

AMD Ryzen 7 5700G - 32GB - 931GB

Ubuntu 20.04 - 4.4.0-19041-Microsoft - 1.1.182

Most Popular Test Results

Find More Test Results