Kernemærke

CoreMark  er et sæt syntetiske benchmarks til måling af CPU- hastighed i indlejrede systemer . Skabt i 2009 af Shay Gal-On fra EEMBC som en erstatning for det antikke Dhrystone benchmark fra 1984 . Testkoden er skrevet i programmeringssproget C og indeholder implementeringer af sådanne algoritmer: linket listebehandling (søgning og sortering ), matrixbehandling (flere matrixoperationer), tilstandsmaskine (bestemmer, at input-tegnstrømmen indeholder reelle tal i decimalnotation) , udregning af CRC- summen .

CoreMark-opgaver

CRC-algoritmen i benchmark bruges til to formål: den er ret typisk for applikationer på indlejrede computere, men den bruges også til at bekræfte den korrekte funktion af alle test af CoreMark-pakken. Især for at kontrollere sorteringsresultatet beregnes en 16-bit CRC sum ud fra alle dataene i den sammenkædede liste.

For at undgå forudberegning af testresultater under optimering af kompilering, bruger hver test i benchmark en værdi, der ikke er tilgængelig på kompileringstidspunktet. Også al kode, hvis udførelsestid måles, leveres fuldstændigt af forfatterne af benchmark (indeholder ingen opkald til systembiblioteker).

Sammenligning mellem CoreMark og legacy Dhrystone

CoreMark bygger på de principper, der inspirerede traditionel Dhrystone: testen er lille, bærbar, let at forstå, gratis at bruge og giver et enkelt tal, der beskriver ydeevnen. Men i modsætning til Dhrystone har CoreMark-test regler for lancering og publicering af resultater, og forfatterne af CoreMark formåede at undgå en række velkendte problemer forbundet med Dhrystone .

Store dele af Dhrystone-testen kan optimeres af moderne compilere, hvilket gør testen mindre af en hardware-ydeevnetest. Det gjorde det også vanskeligt at sammenligne mellem forskellige kompilatorer eller mellem samlinger med forskellige kompileringsflag.

I det målte område af Dhrystone foretages biblioteksopkald, og normalt fylder bibliotekskoden det meste af benchmarkens tid. Da bibliotekerne ikke er en del af benchmark, bliver det sværere at sammenligne resultater mellem forskellige systemer og implementeringer af bibliotekerne.

Der er nogle retningslinjer for at køre Dhrystone, men da testresultaterne ikke blev certificeret eller verificeret, blev disse retningslinjer ikke altid fulgt. Der var ingen standard for publicering af Dhrystone-resultater og forskellige afledte værdier blev brugt: DMIPS, "Dhrystones per second", DMIPS/MHz.

Indsender CoreMark-resultater

En liste over CoreMark-resultater vedligeholdes på CoreMark-projektets hjemmeside Arkiveret 12. september 2017 på Wayback Machine (EEMBC). Resultaterne har følgende format:

CoreMark 1.0 : N/C/P/M

For eksempel:

CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofil-brug / Heap i TCRAM / FORK:2

Se også

Litteratur

Links