Dhrystone on synteettinen tietokoneen suorituskykytesti, jonka Reinhold P. Weicker on kehittänyt vuonna 1984 . Tarkoituksena testata yleiskäyttöisten prosessorien järjestelmän (kokonaisluku) suorituskykyä . Samanlainen testi on Whetstone .
Dhrystonen osalta sen kirjoittaja keräsi tilastoja useiden FORTRAN , PL/1 , SAL , ALGOL 68 , Pascal ohjelmien suorittamisesta . Tilastot jaetaan eri konstruktien, kuten proseduurikutsujen, osoittimen pääsyn, osoituksen jne. kesken. Näiden tietojen perusteella luotiin Dhrystone-testi, jolla on samanlaiset suhteet eri toimintojen välillä. Se kirjoitettiin alun perin Adassa , myöhemmin Rick Richardson kehitti version 1.1 C :ssä ( Unix -perheen käyttöjärjestelmille ).
Testi oli suosittu 1980-luvulla . [yksi]
Dhrystone-testi ei sisällä liukulukuoperaatioita , ja sen nimi on johdettu Whetstone -testistä sanaleikin avulla. Whetstone kuulostaa samalta kuin Wetstone - märkä kivi, Dhrystone kuulostaa samalta kuin Drystone - kuiva kivi. Samaan aikaan Whetstonen todellinen käännös on hiomakivi, ja sana Dhrystone on keksitty, eikä sitä ole käännetty kirjaimellisesti.
Testin tulos on Dhrystones sekunnissa (pääsilmukan iteraatioiden määrä sekunnissa).
Whetstone- ja Dhrystone-testit ovat synteettisiä, eli yksinkertaisia ohjelmia, jotka ylläpitävät tiettyjä suhteita erityyppisten käskyjen välillä. Nämä suhteet ovat samanlaisia kuin joidenkin ohjelmien tilastolliset ominaisuudet. Vuonna 1972 kehitetty Whetstone käytti tyypillisiä Algol 60 -ongelmia sarjana (vuodesta 1970 ). Testin suositumpi Fortran-versio heijastaa ohjelmien laskennallista suuntausta 1960-luvulla.
Dhrystone on ollut käytössä yli 20 vuotta sen kirjoittamisesta.
CoreMark on pieni benchmark ei-kaupallisesta Embedded Microprocessor Benchmark Consortiumista ( EMBC ). Se voi toimia suurella määrällä prosessoriytimiä (esimerkiksi mikro-ohjaimilla), mikä on samanlainen kuin Dhrystone. Molemmat testit ovat ilmaisia. CoreMark välttää optimointiongelmat käyttämällä oikeita algoritmeja synteettisen käskyjoukon sijaan. Lisäksi testien tuloksia verrataan vertailutuloksiin. Testin suorittamiseen ja sen tulosten julkaisemiseen on joukko sääntöjä.
Dhrystone antaa tuloksen muodossa: Iteraatioiden määrä sekunnissa. Usein tämä tulos muunnetaan DMIPS :ksi ( Dhrystone MIPS :stä ) jakamalla luvulla 1757 (Dhrystone/s tulos VAX 11/780 -tietokoneelle , eli nimelliskoneelle, jossa on 1 DMIPS).
DMIPS voidaan jakaa prosessorin taajuudella saadakseen DMIPS/MHz . Tällaiset yksiköt mahdollistavat eri kellotaajuuksien prosessorien vertailun .
Dhrystone sisältää epätavallista koodia, jota ei löydy tavallisista ohjelmista. Myös kääntäjien optimoinnit voivat vääristää Dhrystonen tulosta. Esimerkiksi testi tekee useita kopioita merkkijonoista mittaamaan merkkijonotoimintojen suorituskykyä. Dhrystonen viivoilla on kuitenkin tunnettu vakiopituus, ja niiden alku on kohdistettu luonnollisiin rajoihin. Perinteisissä ohjelmissa nämä kaksi ominaisuutta eivät usein täyty. Tunnetun pituuden ja siirtymän ansiosta optimoija voi korvata merkkijonokopion sanakopioiden sekvenssillä (ilman silmukkaa), mikä parantaa suorituskykyä (joskus kymmeniä prosentteja).
Dhrystone-koodi on tarpeeksi pieni mahtuakseen kokonaan nykyaikaisen prosessorin käskyvälimuistiin, joten käskyhaun suorituskyky on huonosti testattu. [2]