Jõudlustest

Jõudlustest (inglise Benchmark) on arvutitehnikas protseduur riist- või tarkvara jõudluse hindamiseks. Jõudlustestiks nimetatakse nii mõõtmisprotsessi kui selle läbiviimiseks kasutatavat programmi. Riistvara puhul mõõdetakse tavaliselt sooritatud operatsioonide arvu ajaühikus, näiteks protsessori puhul ujukomaoperatsioonide arvu sekundis (FLOPS) ja mälu puhul loetud või kirjutatud andmete hulka sekundis. Riistvara jõudlustestid kasutavad jõudluse arvutamiseks tegelikke väärtusi ja annavad paremat tagasisidet kui prognoositud tulemused seadme tehnilistest näitajatest. Sellised tulemused aitavad inseneridel paremini aru saada, kuidas riistvara reaalsuses toimib ja kui hästi suudetakse antud parameetritega täita erinevaid ülesanded.

Jõudlusteste viiakse sageli läbi seadme komponentide maksimaalse suutlikkuse analüüsiks. See aitab arendajatel paremini mõista süsteemi võimalikke kitsaskohti ja tuvastada neid põhjustav tark- või riistvara. Jõudlustesti kasutamine enne ja pärast seadme muutmist aitab kasutajal paremini mõista muutuste mõju seadme kiirusele.

Arvuti arhitektuuri arenedes muutus seadmete võrdlemine tehniliste näitajate põhjal järjest keerulisemaks ja suurenes vajadus erinevate arhitektuuride omavahelist võrdlemist võimaldavate testide järele. Näiteks võrdse taktsagedusega protsessorite võrdlemine ei pruugi näidata sama jõudlust, kuna tegelik jõudlus sõltub paljudest asjaoludest, nagu tuumade arv, vahemälu suurus ja lõimede arv.[1]

Samuti tehakse jõudlusteste komponentide mitmekülgse koormamise eesmärgil. Kuigi see on ennekõike koormustesti ülesanne, on jõudlustest hea esmase testimise vahend veendumaks, kas seade töötab korrektselt. Näiteks vead arvuti mälus või graafikakaardi draiverites võivad jõudlustesti käigus avalduda.

Testitüübid

[muuda | muuda lähteteksti]

Jõudlustestid võib jagada kaheks: sünteetilised testid ja rakendustestid. Samuti leidub hübriide, mis võtavad lõpptulemuses arvesse mõlema liigi tulemusi. Jõudlustesti oluline osa on tulemuste võrreldavus, mille kohaselt peab testitulemusi olema võimalik omavahel tähendusrikkalt kõrvutada. Sama testi käivitamine identsel konfiguratsioonil ja erinevatel ajahetkedel peaks andma samasuguse või lähedase tulemuse. Ideaaltingimuste korral peaksid jõudlustesti tulemused olema võrreldavad mitte ainult sama seadme puhul, vaid sarnaseid tulemusi peaksid andma ka teised ligilähedased seadmed, mis kasutavad teistsugust arhitektuuri, operatsioonisüsteemi või riistvara.[2]

Sünteetilised testid teostavad lihtsalt mõõdetavaid arvutusi, mida reaalses kasutuses praktiliselt ei esine. Testid on disainitud kergesti korratavateks üksikutel komponentidel, minimeerides ohtu, et süsteemis olev kitsaskoht mõjutab lõpptulemust. See muudab üksikute komponentide omavahelise võrdlemise kergeks, kuid ei tähenda üksiku komponendi tulemuse kajastumist tavakasutuses.[3]

Rakendustestid imiteerivad rakenduste käitumist ja proovivad modelleerida kasutaja tegutsemist süsteemis. Test mõõdab kogu süsteemi käitumist määratud koormuse all ning mõõdab ülesande täitmise kiirust. Tulemus arvutatakse iga testitud lüli põhjal ning see aitab hinnata süsteemi kui tervikut, kuid ei anna teavet üksikute komponentide soorituse kohta. Sellise lähenemise suurim probleem on testi loojate definitsioon kasutaja tüüpilisest töökoormusest.[3]

Paljud tootjad on modifitseerinud oma tooteid nii, et need annaks koormustestide ajal ebarealistlikult kõrgeid tulemusi, mis igapäevases kasutamises ei kajastu. Näiteks on osad nutiseadmete tootjad muutnud oma telefone ja tahvelarvuteid kõrge tulemuse saavutamiseks nii, et need tuvastaks enamlevinud jõudlustestid ning tõstaksid testi läbiviimise ajal osade komponentide taktsagedust ja maksimaalset temperatuuritaluvust.[4]

Ainult ühe testi tulemuste põhjal pole mõistlik seadme jõudluse kohta hinnanguid anda, sest see näitaja pole universaalne. Kuna jõudlusteste on palju, on tootjad suutelised leidma sellise, mis näitab nende tooteid paremast küljest. Objektiivseimat tulemust on võimalik saada testiga, mis koormab süsteemi sarnaselt tavakasutusele. Liigselt koormates võivad komponendid ülekuumenemise vältimiseks jõudlust vähendada ning liiga madala koormuse puhul ei pruugi tulemus kajastada süsteemi käitumist normaalkoormuse all.[3]

Tüüpilised testid

[muuda | muuda lähteteksti]
  • Matemaatilised testid arvudega. Kasutatakse enamiku tööriistade poolt, et mõõta protsessori võimet sooritada mitmeid jadamisi esitatud algelisi tehteid nagu liitmine, lahutamine, korrutamine ja jagamine suvaliselt genereeritud 32- ja 64-bitiste arvudega. Ujukomaarve ja täisarve testitakse protsessoris eraldi ning saadud tulemusi esitatakse sageli millisekundites, seega väiksem number näitab paremat tulemust.[5]
  • Pakkimistestid. Need testid mõõdavad protsessori võimekust pakkida suuri andmeplokke ilma, et protseduuri käigus infot kaduma läheks. Pakkimise ajal kasutatakse keerukaid andmestruktuure ning keerulisi andmemanipulatsiooni võtteid, mis on levinud igapäevastes tarkvararakendustes, alates andmete varundamisest ja lõpetades e-postiga. Tulemused kuvatakse tavaliselt kilobaitides sekundi kohta (kB/s).[5]
  • Testid üksiku tuumaga. Kasutatakse ainult ühte protsessori tuuma ja hinnatakse selle toimetulekut erinevates testides. Kahjuks ei oska paljud programmid isegi praegu efektiivselt kasutada protsessori mitmetuumalisust ning üksiku tuuma hea jõudlus on sageli hädavajalik.[5]

Graafikakaart

[muuda | muuda lähteteksti]
  • 2D-graafika. Kahemõõtmelised graafikatestid keskenduvad ekraanile joonistamisele, elementide liigutamisele, fontidele ja kasutajaliidese skaleerimisele. Tulemused esitatakse kaadrisageduse abil, mis tähendab kuvatavate kaadrite arv sekundis. Mida suurem on tulemuseks saadud väärtus, seda sujuvam tundub ekraanil olevate objektide liikumine.[6]
    Geeks3D FurMark GPU koormustest
  • 3D-graafika. Väga tähtis test videomängude ja digitaalse meediaga tegelevate süsteemidele. Testid hõlmavad mitme eri keerukusega 3D-objekti renderdamist ekraanile. Muudetakse kuvatava stseeni detailsust, varje, valgustus ja testitakse erinevaid API-sid nagu DirectX ja OpenGL. Nagu 2D-graafika puhul esitatakse tulemused sageli kasutades kaadrisagedust.[7]

Andmekandja

[muuda | muuda lähteteksti]
  • Järjestikused testid. Andmekandjatega sooritatavad testid keskenduvad sageli järjestik-lugemis- ja kirjutamistestidele. Sõna "järjestik" viitab failile, mis pole salvestatud mitme fragmendina, vaid mis on ühe suure tükina, näiteks suur fail salvestatud fragmentimata kõvakettale. Tulemused kuvatakse tavaliselt megabaite sekundis (MB/s).[8]
  • Juhuslikud testid. Need testid näitavad, kuidas andmekandja käitub kui sel on vaja juurdepääsu paljudele andmetele, mis asetsevad ketta peal suvalistes asukohtades. Juhuslikud lugemis- ja kirjutamiskiirused on andmete ebatõhusa paiknemise tõttu oluliselt aeglasemad kui järjestikused lugemis- ja kirjutamisoperatsioonid.[8]

Levinud jõudlustestid

[muuda | muuda lähteteksti]
Super Pi Mod kalkuleerimas Pi väärtust miljoni komakohani

Super PI on sünteetiline ühelõimeline protsessori jõudlustest, mis arvutab pii väärtust kasutaja määratud täpsusastmeni ja toetab kuni 32 miljonit komakohta. Test kasutab arvutusmahukat Gaussi-Legendre'i algoritmi ja on vabavara.[9]

Geekbench kasutab protsessori jõudluse mõõtmiseks mitmesuguseid teste ja töökoormusi. Sooritatavad testid on jaotatud kolme kategooriasse. Täpse nimekirja sooritatavatest testidest koos seletustega leiab siit.

3DMark on populaarseim test graafilise jõudluse hindamiseks. Testi tulemus moodustatakse graafika, füüsika ja kombineeritud stseeni tulemuste harmooniliset keskmisest. Testi toetab internetis asuv ja pidevalt täienev andmebaas, mis sisaldab üle 35 miljoni 3DMarki tulemuse. Andmestik annab kasutajale võimaluse võrrelda enda tulemusi sarnaste riistvarakonfiguratsioonidega. Programmi kasutavad paljud meediaväljaanded graafikakaartide testimiseks ja test annab hea võrdluspunkti kasutajale, kes soovib oma süsteemi uuendada.

CrystalDiskMark

[muuda | muuda lähteteksti]

CrystalDiskMark on mitmekülgne ja kergesti kasutatav vabavaraline andmekandjate töökiiruse test, mis võimaldab käivitada nii järjestik-lugemis- ja kirjutamisteste kui ka juhu-lugemis- ja kirjutamisteste ning väljastab mõõtmistulemused ühikutega MB/s ja IOPS.[10]

  1. Chris Hoffman (16.12.2013). "Why You Can't Use CPU Clock Speed to Compare Computer Performance" (inglise keeles). Vaadatud 30.04.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  2. Stefan Bouckaert, Jono Vanhie-Van Gerwen, Ingrid Moerman. "Benchmarking computers and computer networks" (PDF) (inglise keeles). Originaali (PDF) arhiivikoopia seisuga 19.09.2016. Vaadatud 01.05.2016.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link) CS1 hooldus: tundmatu keel (link)
  3. 3,0 3,1 3,2 Techquickie (16.11.2014). "Benchmarks as Fast As Possible" (video) (inglise keeles). Vaadatud 30.04.2015.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  4. Anand Lal Shimpi, Brian Klug (02.10.2013). "They're (Almost) All Dirty: The State of Cheating in Android Benchmarks" (inglise keeles). Vaadatud 30.04.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  5. 5,0 5,1 5,2 "CPU Test Information" (inglise keeles). Vaadatud 01.05.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  6. Andy Betts (30.03.2015). "PC Benchmark Tests: What Are They, And Do They Actually Matter?" (inglise keeles). Vaadatud 01.05.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  7. "Whitepaper" (PDF) (inglise keeles). Vaadatud 30.04.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  8. 8,0 8,1 "Understanding I/O: Random vs Sequential" (inglise keeles). 30.05.2013. Originaali arhiivikoopia seisuga 4.05.2016. Vaadatud 01.05.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  9. "About Super PI" (inglise keeles). Vaadatud 30.04.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)
  10. "CrystalDiskMark" (inglise keeles). 17.12.2015. Originaali arhiivikoopia seisuga 24.06.2016. Vaadatud 30.12.2016.{{netiviide}}: CS1 hooldus: tundmatu keel (link)