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

SPEC
Perustettu 1988

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 muokkaa

SPEC:n perustivat nimellä System Performance Evaluation Cooperative pieni joukko työasemien valmistajia vuonna 1988.[1] 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ä.[1]

SPECin julkaisemia testejä muokkaa

SPECcpu muokkaa

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

Versiot muokkaa

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 muokkaa

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 muokkaa

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 muokkaa

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 muokkaa

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

SPECjvm muokkaa

SPECjvm mittaa tietokoneen suorituskykyä Java-kielen tavukoodia ajattaessa.

Lähteet muokkaa

Aiheesta muualla muokkaa