**SPEC** (*Standard Performance Evaluation Corporation*) on järjestö (voittoa tavoittelematon yhtiö, *non-profit corporation*), joka tuottaa tietokoneiden suorituskykymittausohjelmia.

*SPEC*in tekemät testit tyypillisesti toimivat usealla eri alustalla ja ne toimitetaan lähdekoodeina eikä valmiina ohjelmina, mikä mahdollistaa vertailun eri suoritinarkkitehtuureja käyttävien tietokoneiden kesken.
Seurauksena tästä on myös se, että ne mittaavat merkittävissä määrin myös ohjelmointikielen kääntäjän eikä vain itse tietokoneen suorituskykyä.

Tunnetuin *SPEC*in julkaisema testi on *SPECcpu* joka koostuu kokonaislukulaskennan suorituskykyä mittaavasta *SPECint*istä sekä liukulukulaskennan suorituskykyä mittaavasta *SPECfp*stä. 

SPECin julkaisemat testit koostuvat useista eri osatesteistä, joiden tulos yhdistetään lopulliseksi pistemääräksi geometrisellä keskiarvolla. Syynä geometrisen keskiarvon käyttöön on se, että näin testien välinen painotus säilyy samanlaisena riippumatta siinä, mikä niiden suoritusaika on; yksi todella hyvin tai todella huonosti mennyt testi ei pääse dominoimaan tulosta kuten kävisi aritmeettisella tai harmonisella keskiarvolla.

Historia
--------

SPEC:n perustivat nimellä *System Performance Evaluation Cooperative* pieni joukko työasemien valmistajia vuonna 1988. Valmistajat olivat havainneet tarpeen realistisille standardoiduille testeille. Perusteena oli, että pieni määrä luotettavaa tietoa olisi parempi kuin suuri määrä markkinointihypeä. SPEC on laajentunut ja sillä on 60 jäsenyhtiötä.

SPECin julkaisemia testejä
--------------------------

### SPECcpu

SPECcpu on arvostetuin testi yritysmaailman puolella tietokoneiden prosessoreiden suorituskykyä mitattaessa.

#### Versiot

SPECcpu-testeistä on tullut useita eri versioita, keskimäärin noin viiden vuoden välein, koska tietokoneilla ajettavat ohjelmat ovat muuttuneet ja prosessoitavien datojen koot ovat kasvaneet eivätkä vanhat versiot testeistä enää ole vastanneet tosielämän suorituskykyä riittävän hyvin. Tuorein version on vuonna 2006 julkaistu SPECcpu2006.

SPECcpun testien perusversiot eivät hyödynnä useaan prosessoriydintä vaan mittaavat vain yhden prosessoriytimen nopeutta.

#### SPECint

SPECint koostuu useasta eri tosimaailman koodeihin perustuvasta osatestistä, jotka eivät käytä liukulukuja. Osatestejä on mm. tiedon pakkauksesta, ohjelmointikielen kääntämisestä ja tulkkaamisesta sekä pelien tekoälyistä.

#### SPECfp

SPECfp koostuu useasta eri tosimaailman koodeihin perustuvasta osatestistä, joissa pääpaino on liukulukulaskennalla.
Suurin osa osatesteistä koostuu erilaisista tieteellisen laskennan sovelluksista.

SPECfp-testiä on arvosteltu siitä, että jotkut laitevalmistajat (mm. Sun Microsystems) ovat onnistuneet kehittämään kääntäjiinsä optimointeja, jotka parantavat selvästi tulosta jossain tietyssä SPECfpn osatestissä mutteivät auta juuri muiden ohjelmakoodien ajamisessa.

Toinen arvostelun aihe SPECfpssä on ollut että sen joidenkin versioiden käyttämän datan määrä on ollut jossain määrin keinotekoisesti ja epäluonnollisesti valittu ja muistikaistan ja välimuistin vaikutus suorituskykyyn on siten painottunut hiukan eri tavalla kuin tosielämässä.

#### specrate

SPECint- ja SPECint-testeistä on myös versiot SPECint\_rate ja SPECfp\_rate joissa ajetaan useaa SPECint- ja SPECfp-testiä rinnakkain koneen eri suorittimilla usean prosessorin suorituskyvyn laskemiseen.

### Viewperf

Viewperf mittaa tietokoneen suorituskykyä 3D-mallinnuksessa (mm. CAD-työasemat).

### SPECjvm

SPECjvm mittaa tietokoneen suorituskykyä Java-kielen tavukoodia ajattaessa.

Lähteet
-------

1. 1 2

Aiheesta muualla
----------------

*