Core Mark

CoreMark  je sada syntetických benchmarků pro měření rychlosti CPU ve vestavěných systémech . Vytvořeno v roce 2009 Shay Gal-On z EEMBC jako náhrada za starožitný benchmark Dhrystone z roku 1984 . Testovací kód je napsán v programovacím jazyce C a obsahuje implementace těchto algoritmů: zpracování propojeného seznamu (vyhledávání a řazení ), maticové zpracování (několik maticových operací), stavový automat (určující, že vstupní znakový proud obsahuje reálná čísla v desítkovém zápisu) , výpočet součtu CRC .

Úlohy CoreMark

Algoritmus CRC v benchmarku se používá ke dvěma účelům: je poměrně typický pro aplikace na embedded počítačích, ale také se používá k potvrzení správného fungování všech testů balíčku CoreMark. Zejména pro kontrolu výsledku řazení se ze všech dat v propojeném seznamu vypočítá 16bitový součet CRC.

Aby se předešlo předběžnému výpočtu výsledků testu během optimalizace kompilace, každý test v benchmarku používá hodnotu, která není k dispozici v době kompilace. Rovněž veškerý kód, jehož doba provádění je měřena, je kompletně zajištěn autory benchmarku (neobsahuje žádná volání do systémových knihoven).

Srovnání mezi CoreMark a starším Dhrystone

CoreMark staví na principech, které inspirovaly tradiční Dhrystone: test je malý, přenosný, snadno srozumitelný, zdarma k použití a poskytuje jediné číslo, které popisuje výkon. Na rozdíl od Dhrystone však testy CoreMark mají pravidla pro spouštění a zveřejňování výsledků a autorům CoreMarku se podařilo vyhnout řadě známých problémů spojených s Dhrystone .

Velké části testu Dhrystone mohou být optimalizovány moderními kompilátory, díky čemuž je tento test méně testem výkonu hardwaru. Také to znesnadnilo srovnání mezi různými kompilátory nebo mezi sestavami s různými příznaky kompilace.

V měřené oblasti Dhrystone se provádějí volání knihovny a kód knihovny obvykle zabere většinu času benchmarku. Vzhledem k tomu, že knihovny nejsou součástí benchmarku, je obtížnější porovnávat výsledky mezi různými systémy a implementacemi knihoven.

Existují určité pokyny pro provozování Dhrystone, ale protože výsledky testů nebyly certifikovány nebo ověřeny, nebyly tyto pokyny vždy dodržovány. Pro publikování výsledků Dhrystone neexistoval žádný standard a byly použity různé odvozené hodnoty: DMIPS, „Dhrystones per second“, DMIPS/MHz.

Odesílání výsledků CoreMark

Seznam výsledků CoreMark je udržován na webových stránkách projektu CoreMark Archivováno 12. září 2017 na Wayback Machine (EEMBC). Výsledky mají následující formát:

CoreMark 1.0: N/C/P/M

Například:

CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Halda v TCRAM / FORK:2

Viz také

Literatura

Odkazy