Dhrystone

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 24. maj 2021; checks kræver 2 redigeringer .

Dhrystone  er en syntetisk computerpræstationstest udviklet i 1984 af Reinhold P. Weicker . Har til formål at teste systemets (heltals) ydeevne af processorer til generelle formål . En lignende test er Whetstone .

For Dhrystone indsamlede forfatteren statistikker om udførelsen af ​​et stort antal programmer skrevet i FORTRAN , PL/1 , SAL , ALGOL 68 , Pascal . Statistik er delt mellem forskellige konstruktioner såsom procedurekald, pointer-adgang, tildeling osv. Baseret på disse data blev der lavet en Dhrystone-test, der har lignende forhold mellem forskellige operationer. Det blev oprindeligt skrevet i Ada , senere udviklede Rick Richardson version 1.1 i C (til Unix -familiens operativsystemer ).

Testen var populær i 1980'erne . [en]

Dhrystone og Whetstone

Dhrystone-testen indeholder ikke flydende kommaoperationer , og dens navn er afledt af Whetstone -testen ved at bruge et ordspil. Whetstone lyder det samme som Wetstone - våd sten, Dhrystone lyder det samme som Drystone - tør sten. Samtidig er den rigtige oversættelse af Whetstone en slibesten, og ordet Dhrystone er opfundet og er ikke bogstaveligt oversat.

Resultatet af testen er Dhrystones per sekund (antallet af iterationer af hovedsløjfen per sekund).

Whetstone- og Dhrystone-tests er syntetiske, det vil sige simple programmer, der opretholder bestemte forhold mellem forskellige typer instruktioner. Disse forhold svarer til de statistiske karakteristika for nogle sæt programmer. Whetstone, udviklet i 1972 , brugte typiske Algol 60- problemer som et sæt (fra 1970 ). Den mere populære Fortran-version af testen afspejler programmernes beregningsorientering i 1960'erne.

Dhrystone Goals

Dhrystone har været i brug i over 20 år siden den blev skrevet.

Dhrystone og CoreMark

CoreMark  er et lille benchmark fra det ikke-kommercielle Embedded Microprocessor Benchmark Consortium ( EEMBC ). Den kan køre på et stort antal processorkerner (for eksempel på mikrocontrollere), hvilket ligner Dhrystone. Begge test er gratis. CoreMark undgår optimeringsproblemer ved at bruge rigtige algoritmer i stedet for et syntetisk instruktionssæt. Desuden sammenlignes resultaterne af testene med referencerne. Der er et sæt regler for at køre en test og offentliggøre dens resultater.

Resultater

Dhrystone giver resultatet på formen: Antal iterationer pr. sekund. Ofte konverteres dette resultat til DMIPS (fra Dhrystone MIPS ) ved at dividere med 1757 (Dhrystone/s resultat for en VAX 11/780 computer , dvs. en nominel maskine med 1 DMIPS).

DMIPS kan divideres med processorfrekvensen for at få DMIPS/MHz . Sådanne enheder tillader sammenligning af processorer med forskellige clockhastigheder .

Begrænsninger

Dhrystone indeholder usædvanlig kode, som ikke findes i almindelige programmer. Også Dhrystones resultat kan blive skævt af compiler-optimeringer. For eksempel laver testen mange kopier af strenge for at måle strengfunktionernes ydeevne. Linjer i Dhrystone har dog en kendt konstant længde, og deres begyndelse er tilpasset naturlige grænser. I konventionelle programmer er disse to egenskaber ofte ikke opfyldt. På grund af den kendte længde og offset kan optimeringsværktøjet erstatte en strengkopi med en sekvens af ordkopier (uden en loop), hvilket øger ydeevnen (nogle gange med titusindvis af procent).

Dhrystone-koden er lille nok til at passe helt ind i instruktionscachen på en moderne processor, så ydelsen af ​​instruktionshentning er dårligt testet. [2]

Se også

Noter

  1. Om bitdybden af ​​processorer . iXBT.com . - "... på det populære Dhrystones benchmark i 1980'erne ...". Hentet 27. september 2013. Arkiveret fra originalen 3. april 2013.
  2. ECL Dhrystone hvidbog . Hentet 20. december 2012. Arkiveret fra originalen 26. juli 2011.

Litteratur

Links