CacheBench

This is a performance test of CacheBench, which is part of LLCbench. CacheBench is designed to test the memory and cache bandwidth performance

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

Project Site

icl.cs.utk.edu

Test Created

6 December 2010

Last Updated

10 January 2024

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

3 Seconds

Average Run Time

6 Minutes, 27 Seconds

Test Dependencies

C/C++ Compiler Toolchain

Accolades

300k+ Downloads + 20k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsCacheBench Popularity Statisticspts/cachebench2010.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.04200K400K600K800K1000K
* 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.
Write33.0%Read / Modify / Write33.5%Read33.5%Test Option PopularityOpenBenchmarking.org

Revision History

pts/cachebench-1.2.0   [View Source]   Wed, 10 Jan 2024 10:30:23 GMT
Ensure -O3 is set in its build system.

pts/cachebench-1.1.2   [View Source]   Sat, 07 Apr 2018 17:38:36 GMT
Fix for FreeBSD

pts/cachebench-1.1.1   [View Source]   Sun, 04 Mar 2018 10:07:15 GMT
Windows support.

pts/cachebench-1.1.0   [View Source]   Wed, 04 Jan 2017 20:24:47 GMT
Change download link to a static one.

pts/cachebench-1.0.0   [View Source]   Mon, 06 Dec 2010 14:34:54 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Memory Test Suite

CPU Massive

Single-Threaded


Performance Metrics

Analyze Test Configuration:

CacheBench

Test: Read

OpenBenchmarking.org metrics for this test profile configuration based on 6,060 public results since 4 January 2017 with the latest data as of 22 March 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
MB/s (Average)
100th
16
13386 +/- 348
98th
16
9532 +/- 1
98th
22
9530 +/- 3
96th
4
8914 +/- 82
96th
4
8838 +/- 233
95th
4
7717 +/- 253
95th
4
7282 +/- 29
94th
13
6353 +/- 2
94th
3
6149 +/- 309
94th
3
5746 +/- 20
94th
7
5705 +/- 4
92nd
3
4908 +/- 1
92nd
4
4795 +/- 70
91st
7
4488 +/- 56
91st
5
4427 +/- 235
90th
7
4386 +/- 393
89th
6
4126 +/- 373
89th
48
4112 +/- 519
88th
3
4011 +/- 91
88th
6
3873 +/- 2
87th
7
3811 +/- 1
87th
11
3807 +/- 3
86th
5
3765 +/- 66
86th
3
3745 +/- 182
85th
3
3685 +/- 260
85th
6
3622 +/- 443
85th
4
3606 +/- 38
85th
12
3593 +/- 442
84th
3
3547 +/- 3
84th
4
3531 +/- 273
84th
4
3490 +/- 439
83rd
6
3460 +/- 7
83rd
10
3448 +/- 195
83rd
22
3448 +/- 100
81st
3
3298 +/- 1
81st
77
3297 +/- 13
78th
6
3267 +/- 38
78th
3
3261 +/- 96
78th
4
3252 +/- 335
77th
6
3219 +/- 3
76th
3
3133 +/- 87
Mid-Tier
75th
< 3121
75th
7
3108 +/- 413
74th
3
3088 +/- 69
74th
8
3076 +/- 115
74th
7
3074 +/- 41
74th
29
3072 +/- 133
74th
14
3071 +/- 99
74th
4
3071 +/- 329
74th
3
3052 +/- 141
73rd
6
3038 +/- 61
70th
4
2980 +/- 122
70th
6
2965 +/- 303
69th
12
2960 +/- 5
69th
10
2960 +/- 56
68th
3
2955 +/- 1
68th
7
2953 +/- 440
61st
3
2902 +/- 31
58th
4
2848 +/- 84
57th
4
2830 +/- 342
54th
3
2792 +/- 167
52nd
4
2766 +/- 51
Median
50th
2723
50th
9
2720 +/- 267
47th
4
2658 +/- 205
47th
6
2648 +/- 18
47th
7
2641 +/- 30
46th
22
2627 +/- 94
45th
10
2621 +/- 1
45th
16
2615 +/- 12
44th
3
2607 +/- 19
44th
7
2603 +/- 12
43rd
43
2557 +/- 150
43rd
4
2540 +/- 280
39th
21
2500 +/- 177
38th
4
2489 +/- 244
35th
3
2421 +/- 1
33rd
5
2358 +/- 318
33rd
5
2348 +/- 323
32nd
6
2318 +/- 56
30th
4
2257 +/- 209
30th
3
2252 +/- 132
29th
7
2214 +/- 4
28th
5
2178 +/- 305
28th
4
2160 +/- 37
27th
5
2111 +/- 1
27th
4
2110 +/- 2
26th
4
2079 +/- 2
26th
8
2070 +/- 11
26th
3
2053 +/- 228
Low-Tier
25th
< 2053
24th
3
1942 +/- 29
22nd
4
1904 +/- 148
22nd
21
1902 +/- 282
22nd
5
1896 +/- 205
22nd
5
1880 +/- 72
21st
3
1855 +/- 185
21st
3
1846 +/- 1
20th
5
1816 +/- 174
15th
5
1643 +/- 209
15th
4
1634 +/- 162
9th
3
1482 +/- 174
8th
5
1324 +/- 134
7th
4
1286 +/- 121
3rd
3
1017 +/- 1
2nd
5
802 +/- 14
2nd
3
764 +/- 47
2nd
4
577 +/- 73
OpenBenchmarking.orgDistribution Of Public Results - Test: Read6060 Results Range From 15 To 4612102640665 MB/s1592242052828184484105641276726158454368968211267461210264080553452316893645694369706737936422519830178475332922420528145101466258095811069046337711199146686584129138873939713836307922101475872845023156811489783616603569506491752599003462184484105627519370831090882029325161901212156721471422138092675272306051320340239829337315324905354259662582777478779267501953159227672615844052859503637218295174569003130439877428443136229795657322847184847033207139012833412955954096350519800690935974400597223689682112535378192416534838741662181613966408270974405865032378741508923766004243134429413433537648222644276185350394519860587852461210264066513002600390052006500

Based on OpenBenchmarking.org data, the selected test / test configuration (CacheBench - Test: Read) has an average run-time of 7 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 BenchmarkTest: ReadRun-Time918273645Min: 4 / Avg: 7.33 / Max: 42

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

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsTest: ReadDeviation48121620Min: 0 / Avg: 0.5 / Max: 14

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not 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 BaseCacheBench CPU Core ScalingTest: Read24681216243236640.8251.652.4753.34.125

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.
 
COMISD MULSD SUBSD CVTSI2SD DIVSD MOVAPD ADDSD UNPCKLPD MOVUPD ADDPD
Last automated analysis: 11 January 2024

This test profile binary relies on the shared libraries 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)
IBM Z
s390x
(Many Processors)
RISC-V 64-bit
riscv64
SiFive RISC-V, rv64imafdc, rv64imafdcvsu, sifive rocket0
IBM POWER (PowerPC) 64-bit
ppc64le
POWER8, POWER9 16-Core, POWER9 44-Core, POWER9 8-Core, POWER9 altivec supported 44-Core, POWER9 altivec supported 64-Core
IBM POWER (PowerPC) 64-bit
ppc64
e6500
IBM POWER (PowerPC)
ppc
7447A altivec supported
MIPS 64-bit
mips64
Loongson-2K V0.3 FPU V0.1, Loongson-3A R3, Loongson-3B R2
MIPS
mips
Baikal-T1 1.2 GHz MIPS P5600 V3.0 FPU V2.0
Loongson LoongArch 64-bit
loongarch64
Loongson-3A5000, Loongson-3A5000-HV, Loongson-3A5000LL, Loongson-3A6000, Loongson-3C5000
Intel / AMD x86 32-bit
i686
(Many Processors)
C-SKY
csky
(Many Processors)
ARMv8 64-bit
armv8l
ARMv8 rev 12 8-Core, ARMv8 rev 4 8-Core
ARMv7 32-bit
armv7l
ARMv7, ARMv7 Cortex-A53 4-Core, ARMv7 Cortex-A7, ARMv7 Cortex-A7 4-Core, ARMv7 Cortex-A72 4-Core, ARMv7 Cortex-A9 4-Core, ARMv7 rev 0 2-Core, ARMv7 rev 1 2-Core, ARMv7 rev 1 4-Core, ARMv7 rev 10, ARMv7 rev 10 2-Core, ARMv7 rev 10 4-Core, ARMv7 rev 2, ARMv7 rev 2 4-Core, ARMv7 rev 3 3-Core, ARMv7 rev 3 4-Core, ARMv7 rev 3 8-Core, ARMv7 rev 4 4-Core, ARMv7 rev 5 3-Core, ARMv7 rev 5 4-Core
ARMv6 32-bit
armv6l
ARMv6-compatible rev 7, ARMv7
ARMv5 32-bit
armv5tel
Feroceon 88FR131 rev 1
ARMv8 64-bit
aarch64
AArch64 rev 12, AArch64 rev 3, AArch64 rev 4, ARMv8, ARMv8 4-Core, ARMv8 Cortex-A53, ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A53 6-Core, ARMv8 Cortex-A53 8-Core, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A57 4-Core, ARMv8 Cortex-A57 6-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 4-Core, ARMv8 Cortex-A72 6-Core, ARMv8 Cortex-A73 2-Core, ARMv8 Cortex-A73 4-Core, ARMv8 Cortex-A73 6-Core, ARMv8 Cortex-A73 8-Core, ARMv8 Cortex-A76 4-Core, ARMv8 Cortex-A77 6-Core, ARMv8 Cortex-A78 4-Core, ARMv8 Cortex-A78E 6-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 128-Core, ARMv8 Neoverse-N1 2-Core, ARMv8 Neoverse-N1 32-Core, ARMv8 Neoverse-N1 48-Core, ARMv8 Neoverse-N1 64-Core, ARMv8 Neoverse-N1 8-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-N2, ARMv8 Neoverse-V1, ARMv8 Neoverse-V1 16-Core, ARMv8 Neoverse-V1 64-Core, ARMv8 rev 0, ARMv8 rev 0 6-Core, ARMv8 rev 1 4-Core, ARMv8 rev 3 6-Core, Amlogic ARMv8 Cortex-A53 4-Core, Ampere eMAG ARMv8 32-Core, Apple, Apple M1, FT2000AHK, HUAWEI Kunpeng 920, HUAWEI Kunpeng 920 5221K, Phytium FT-2000, Phytium FT2000A 4-Core, Phytium S2500, Rockchip ARMv8 4-Core, Rockchip ARMv8 Cortex-A55 4-Core, Rockchip ARMv8 Cortex-A72 6-Core, Rockchip ARMv8 Cortex-A76 6-Core, SiFive RISC-V