  The Standard Performance Evaluation Corporation (SPEC) CPU benchmark has been
widely used as a measure of computing performance for decades. The SPEC is an
industry-standardized, CPU-intensive benchmark suite and the collective data
provide a proxy for the history of worldwide CPU and system performance. Past
efforts have not provided or enabled answers to questions such as, how has the
SPEC benchmark suite evolved empirically over time and what micro-architecture
artifacts have had the most influence on performance? -- have any
micro-benchmarks within the suite had undue influence on the results and
comparisons among the codes? -- can the answers to these questions provide
insights to the future of computer system performance? To answer these
questions, we detail our historical and statistical analysis of specific
hardware artifacts (clock frequencies, core counts, etc.) on the performance of
the SPEC benchmarks since 1995. We discuss in detail several methods to
normalize across benchmark evolutions. We perform both isolated and collective
sensitivity analyses for various hardware artifacts and we identify one
benchmark (libquantum) that had somewhat undue influence on performance
outcomes. We also present the use of SPEC data to predict future performance.
