SPEC

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

SPECin 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 SPECin julkaisema testi on SPECcpu joka koostuu kokonaislukulaskennan suorituskykyä mittaavasta SPECintistä sekä liukulukulaskennan suorituskykyä mittaavasta SPECfpstä. 

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

Aiheesta muualla 
 http://www.spec.org/

Tietotekniikka
Järjestöt
Suorituskykymittausohjelmat