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.042024.09200K400K600K800K1000K
* 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 19 November 2024.
Write32.4%Read / Modify / Write33.8%Read33.8%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

Read Cache

OpenBenchmarking.org metrics for this test profile configuration based on 2,287 public results since 4 January 2017 with the latest data as of 21 November 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
7
11917 +/- 626
100th
5
10908 +/- 1
95th
3
5633 +/- 76
95th
3
5451 +/- 82
94th
3
5204 +/- 78
94th
3
5140 +/- 1
94th
3
5042 +/- 391
94th
9
5005 +/- 696
92nd
3
4671 +/- 452
92nd
3
4291 +/- 241
91st
11
4261 +/- 379
89th
3
3860 +/- 491
89th
4
3815 +/- 230
88th
23
3806 +/- 5
87th
4
3765 +/- 262
87th
3
3748 +/- 346
86th
3
3710 +/- 393
85th
13
3665 +/- 351
85th
10
3625 +/- 304
84th
3
3586 +/- 208
84th
7
3576 +/- 254
83rd
3
3533 +/- 375
82nd
4
3397 +/- 421
81st
3
3389 +/- 3
80th
6
3344 +/- 211
79th
5
3300 +/- 274
78th
3
3286 +/- 15
77th
4
3276 +/- 28
77th
6
3271 +/- 60
77th
5
3268 +/- 48
76th
13
3226 +/- 260
Mid-Tier
75th
< 3201
75th
5
3199 +/- 243
75th
3
3195 +/- 10
74th
4
3164 +/- 76
74th
3
3133 +/- 7
73rd
8
3129 +/- 410
73rd
10
3129 +/- 276
73rd
7
3113 +/- 291
72nd
4
3111 +/- 42
72nd
9
3098 +/- 133
72nd
4
3093 +/- 34
70th
34
3045 +/- 105
69th
11
3041 +/- 3
67th
4
3029 +/- 27
67th
3
3023 +/- 2
66th
6
3006 +/- 108
62nd
16
2944 +/- 124
61st
4
2913 +/- 17
58th
3
2875 +/- 316
58th
3
2872 +/- 2
57th
12
2859 +/- 180
56th
4
2842 +/- 71
56th
3
2831 +/- 41
56th
5
2828 +/- 313
55th
3
2798 +/- 13
54th
3
2794 +/- 87
53rd
6
2781 +/- 48
52nd
18
2743 +/- 109
52nd
3
2736 +/- 90
Median
50th
2704
49th
3
2696 +/- 190
48th
3
2686 +/- 271
48th
4
2684 +/- 21
48th
17
2680 +/- 24
47th
10
2654 +/- 131
46th
3
2634 +/- 148
44th
3
2591 +/- 57
42nd
13
2567 +/- 146
42nd
17
2556 +/- 338
40th
20
2526 +/- 183
39th
5
2518 +/- 2
39th
5
2507 +/- 28
35th
5
2432 +/- 4
35th
12
2432 +/- 317
32nd
3
2366 +/- 1
32nd
4
2363 +/- 296
30th
3
2305 +/- 258
29th
4
2278 +/- 277
27th
3
2253 +/- 108
27th
3
2236 +/- 162
27th
4
2230 +/- 146
Low-Tier
25th
< 2188
24th
5
2147 +/- 290
24th
4
2127 +/- 24
20th
7
2061 +/- 54
18th
4
2025 +/- 2
17th
15
2002 +/- 60
16th
10
1954 +/- 79
13th
6
1847 +/- 6
11th
5
1767 +/- 46
9th
3
1620 +/- 4
8th
4
1511 +/- 59
7th
3
1361 +/- 72
5th
3
1132 +/- 5
OpenBenchmarking.orgDistribution Of Public Results - Read Cache2287 Results Range From 227 To 2740863117734 MB/s22754817262578109634524929164451787280219269049631274086311982328903574333383720836684438538099035493355361386548172623737602989886088657807148439712624410790767441673141822258935492877076197843931893460194986710722545104152798489610963452472471151162509598120597977194912607970343001315614296651137043155900214252488213531480066083704153488334605515897006084061644517870757169933513310817541523954591808969657810186378692016119186041825121973421444863202823870721420830559695652137873231916219269049426722475077566182302325018969235714228132024119595436712466776806022252159406837325764113307242631228593075268604585542627408631177775001000150020002500

Based on OpenBenchmarking.org data, the selected test / test configuration (CacheBench - Read Cache) 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 BenchmarkRead CacheRun-Time510152025Min: 4 / Avg: 7.12 / Max: 21

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 RunsRead CacheDeviation48121620Min: 0 / Avg: 0.3 / Max: 16

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.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseCacheBench CPU Core ScalingRead Cache24681216202428320.46250.9251.38751.852.3125

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
IBM POWER (PowerPC) 64-bit
ppc64le
POWER8, POWER9 16-Core
IBM POWER (PowerPC) 64-bit
ppc64
PPC970MP
MIPS 64-bit
mips64
Loongson-3A R4, Loongson-3A3000 V0.9 FPU V0.1
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv7 32-bit
armv7l
ARMv7 Cortex-A7 2-Core, ARMv7 Cortex-A72 4-Core, ARMv7 rev 1 2-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 4 4-Core, ARMv7 rev 5 2-Core, ARMv7 rev 5 4-Core, Exynos ARMv7 rev 3 8-Core
ARMv8 64-bit
aarch64
AArch64 rev 4, ARMv8 9-Core, ARMv8 Cortex-A53 2-Core, ARMv8 Cortex-A53 4-Core, ARMv8 Cortex-A72 4-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 16-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-V1, ARMv8 rev 3 6-Core, Ampere ARMv8 Neoverse-N1 160-Core, Ampere eMAG ARMv8 32-Core, Rockchip ARMv8 Cortex-A76 6-Core