Benchmark
Benchmarks são desenvolvidos para imitar um determinado tipo de comportamento em um componente ou sistema. Benchmarks "sintéticos" fazem isso através de programas especialmente criados para impor o tipo de comportamento desejado no componente. Em oposição, benchmarks "de aplicação" executam programas do "mundo real" no sistema. Embora normalmente os benchmarks de aplicação ofereçam uma melhor medida para a performance no "mundo real" para um dado sistema, benchmarks sintéticos ainda são usados no teste de componentes individuais, como um disco rígido ou um dispositivo de rede.
Benchmarks são particularmente importantes no design de microprocessadores semicondutores, dando aos arquitetos de processadores a habilidade para mensurar e propor mudanças nas decisões microarquiteturais. Por exemplo, se um benchmark extrai os algoritmos chave de uma aplicação, ele conterá aspectos de performance sensíveis dessa aplicação. Executando isso em um "trecho" muito menor em um simulador com ciclos precisos, podem-se obter pistas de como aumentar a performance do sistema.
Antes de 2000, arquitetos de computadores e microprocessadores usavam SPEC para fazer isso, embora benchmarks de SPEC baseados em Unix eram bastante demorados e, portanto,