SPEC CPU 2017
SPEC CPU 2017 is the industry-standard suite for measuring CPU and compiler compute performance across 43 real applications. It reports speed and rate metrics relative to a reference machine and requires full configuration disclosure.
SPEC CPU 2017 is a suite of compute-intensive benchmarks maintained by the Standard Performance Evaluation Corporation (SPEC). It is the most widely cited measure of processor and compiler performance for server, workstation, and HPC hardware. The suite stresses the CPU, memory subsystem, and compiler rather than I/O or networking, making it a clean proxy for raw compute capability. Hardware vendors, cloud providers, and research labs publish SPEC CPU results to make defensible, apples-to-apples performance claims, and procurement teams use them to compare candidate platforms.
The suite ships four sub-suites: SPECspeed Integer, SPECspeed Floating Point, SPECrate Integer, and SPECrate Floating Point. Speed metrics measure how fast a single task finishes; rate metrics measure throughput when many copies run in parallel. This split mirrors two distinct real-world questions: how fast is one job, and how much work can the machine do at once.
What It Measures
SPEC CPU 2017 measures sustained compute performance across 43 real applications, including the Perl interpreter, GCC, x264 video encoding, fluid dynamics, weather modeling, and molecular dynamics. Results are reported relative to a fixed reference machine, so a score of 10 means roughly ten times the reference. Each workload is chosen to resist trivial optimization and to reflect genuine application behavior, covering a mix of branch-heavy code, large working sets, and numerically intensive loops.
Methodology
Vendors compile the benchmarks with a documented compiler and flag set, then run each workload to completion. Two tuning levels exist: base (one flag set for all workloads, conservative) and peak (per-workload tuning, aggressive). Runs must be reproducible, and full configuration disclosure is required for any published result, including compiler version, memory configuration, and operating-system settings. Power can be measured alongside performance using the optional SPECpower methodology. Compliant results are submitted to SPEC for review before publication on spec.org, which discourages misleading or non-reproducible claims.
How to Interpret Results
Use SPECrate to compare server throughput under many concurrent jobs, the typical cloud and virtualization case. Use SPECspeed to compare single-thread latency, which matters for serial or latency-sensitive code. Always compare base-to-base or peak-to-peak; mixing the two is misleading. Higher is better. Check the reported compiler, memory configuration, and core count, because identical chips can post very different scores under different software and DRAM setups. For energy-aware buying, weigh performance against the SPECpower energy figures rather than performance alone.
Limitations
SPEC CPU does not exercise disk, network, GPU, or database engines, so it predicts compute headroom only. Aggressive peak tuning can inflate scores in ways that do not transfer to ordinary application builds. The fixed workload set ages over time and may underweight emerging patterns such as wide SIMD or accelerator offload. It also says little about behavior under mixed, bursty, or memory-latency-bound loads, where cache hierarchy and interconnect dominate. Treat it as one input among several, validated alongside workload-specific testing on your own representative applications.