SPEC

SPEC (Standard Performance Evaluation Corporation) on yleishyödyllinen yhteisö, joka tuottaa tietokoneiden suorituskykymittausohjelmia.

SPEC-testit toimitetaan lähdekoodina, jotka käännetään suoritettavalle alustalle. Mukana on useita suorituskykytestejä järjestelmän eri osia varten. Ohjelmointikielen kääntäjää muokkaamalla tai erikoisilla optioilla testaaja voi saada aikaan käännöksen, joka antaa korkeimman tuloksen testeissä, mutta todellisessa sovelluksessa vastaava aiheuttaisi virhetilanteen tai hitaammin toimivan ohjelman. SPEC92 antoi testaajalle vapaammat kädet eri käännösoptioille kuin SPEC95. Testaajan on myös ilmoitettava perustulos ja optimoitu tulos erikseen. Käännöksille on lisätty vaatimus, että ohjelman optimoinnin on tuotettava tarkoitukseen oikeaa koodia.

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.http://www.spec.org/spec/ 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 mittaa tietokoneiden prosessoreiden suorituskykyä.

 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. 

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.

 Katso myös 
 LINPACK

 Lähteet 

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

Luokka:Tietotekniikka
Luokka:Järjestöt
Luokka:Suorituskykymittausohjelmat