Dhrystone je syntetický test výkonnosti počítače vyvinutý v roce 1984 Reinholdem P. Weickerem . Zaměřeno na testování systémového (celočíselného) výkonu univerzálních procesorů . Podobným testem je Whetstone .
Pro Dhrystone jeho autor shromáždil statistiky o provádění velkého množství programů napsaných ve FORTRAN , PL/1 , SAL , ALGOL 68 , Pascal . Statistiky jsou rozděleny mezi různé konstrukce, jako jsou volání procedur, přístup ukazatelů, přiřazení atd. Na základě těchto dat byl vytvořen test Dhrystone, který má podobné vztahy mezi různými operacemi. Původně byl napsán v Ada , později Rick Richardson vyvinul verzi 1.1 v C (pro operační systémy rodiny Unix ).
Test byl populární v 80. letech 20. století . [jeden]
Test Dhrystone neobsahuje operace s pohyblivou řádovou čárkou a jeho název je odvozen od testu Whetstone pomocí hry se slovy. Whetstone zní stejně jako Wetstone - mokrý kámen, Dhrystone zní stejně jako Drystone - suchý kámen. Přitom skutečný překlad Whetstone je brusný kámen a slovo Dhrystone je vymyšlené a není doslovně přeloženo.
Výsledkem testu je Dhrystones za sekundu (počet iterací hlavní smyčky za sekundu).
Whetstone a Dhrystone testy jsou syntetické, tedy jednoduché programy, které udržují určité vztahy mezi různými typy instrukcí. Tyto poměry jsou podobné statistickým charakteristikám některých sad programů. Whetstone, vyvinutý v roce 1972 , používal typické problémy Algol 60 jako sadu (od roku 1970 ). Více populární Fortran verze testu odráží výpočetní orientaci programů v 60. letech.
Dhrystone se používá více než 20 let od doby, kdy byl napsán.
CoreMark je malý benchmark od nekomerčního Embedded Microprocessor Benchmark Consortium ( EEMBC ). Může běžet na velkém počtu procesorových jader (například na mikrokontrolérech), což je obdoba Dhrystone. Oba testy jsou zdarma. CoreMark se vyhýbá problémům s optimalizací tím, že místo syntetické instrukční sady používá skutečné algoritmy. Výsledky testů se navíc porovnávají s referenčními. Existuje soubor pravidel pro provádění testu a zveřejňování jeho výsledků.
Dhrystone dává výsledek ve tvaru: Počet iterací za sekundu. Tento výsledek se často převádí na DMIPS (z Dhrystone MIPS ) dělením 1757 (výsledek Dhrystone/s pro počítač VAX 11/780 , tj. nominální stroj s 1 DMIPS).
DMIPS lze vydělit frekvencí procesoru a získat tak DMIPS/MHz . Takové jednotky umožňují srovnání procesorů s různými taktovacími rychlostmi .
Dhrystone obsahuje neobvyklý kód, který se v běžných programech nenachází. Také výsledek Dhrystone může být zkreslen optimalizací kompilátoru. Test například vytváří mnoho kopií řetězců pro měření výkonu funkcí řetězců. Čáry v Dhrystone však mají známou konstantní délku a jejich počátky jsou zarovnány s přirozenými hranicemi. V konvenčních programech tyto dvě vlastnosti často nejsou splněny. Díky známé délce a offsetu může optimalizátor nahradit kopii řetězce sekvencí slovních kopií (bez smyčky), čímž zvýší výkon (někdy až o desítky procent).
Kód Dhrystone je dostatečně malý, aby se celý vešel do instrukční mezipaměti moderního procesoru, takže výkon načítání instrukcí je špatně testován. [2]