A CoreMark szintetikus benchmark készlet a CPU sebességének mérésére beágyazott rendszerekben . 2009-ben hozta létre Shay Gal-On, az EEMBC - től, az antik 1984 -es Dhrystone - benchmark helyettesítésére. A tesztkód C programozási nyelven íródott, és ilyen algoritmusok megvalósításait tartalmazza: linkelt listafeldolgozás (keresés és rendezés ), mátrixfeldolgozás (több mátrixművelet), állapotgép (meghatározza, hogy a bemeneti karakterfolyam valós számokat tartalmaz decimális jelöléssel) , a CRC összegének kiszámítása .
A benchmarkban szereplő CRC algoritmust két célra használják: meglehetősen jellemző a beágyazott számítógépeken lévő alkalmazásokra, de a CoreMark csomag összes tesztjének megfelelő működésének megerősítésére is szolgál. A rendezési eredmény ellenőrzéséhez a rendszer egy 16 bites CRC összeget számít ki a hivatkozott lista összes adatából.
Az optimalizáló összeállítás során a teszteredmények előre kiszámításának elkerülése érdekében a benchmark minden tesztje olyan értéket használ, amely a fordításkor nem áll rendelkezésre. Ezenkívül minden kódot, amelynek végrehajtási idejét mérik, teljes mértékben a benchmark szerzői biztosítják (nem tartalmaz rendszerkönyvtárak hívásait).
A CoreMark azokra az elvekre épít, amelyek a hagyományos Dhrystone-t inspirálták: a teszt kicsi, hordozható, könnyen érthető, ingyenesen használható, és egyetlen számot ad, amely leírja a teljesítményt. A Dhrystone-nal ellentétben azonban a CoreMark teszteknek vannak szabályai az eredmények elindítására és közzétételére, és a CoreMark szerzőinek sikerült elkerülniük számos, a Dhrystone -hoz kapcsolódó jól ismert problémát .
A Dhrystone-teszt nagy része modern fordítókkal optimalizálható, így ez a teszt kevésbé hardverteljesítmény-teszt. Ez megnehezítette a különböző fordítók vagy a különböző fordítási zászlókkal rendelkező összeállítások összehasonlítását is.
A Dhrystone mért területén könyvtári hívások történnek, és általában a könyvtári kód foglalja el a benchmark idejének nagy részét. Mivel a könyvtárak nem részei a benchmarknak, nehezebbé válik az eredmények összehasonlítása a különböző rendszerek és a könyvtárak megvalósításai között.
Van néhány irányelv a Dhrystone futtatására, de mivel a teszteredményeket nem hitelesítették vagy ellenőrizték, ezeket az irányelveket nem mindig tartották be. Nem volt szabvány a Dhrystone eredmények közzétételére, és különféle származtatott értékeket használtak: DMIPS, "Dhrystones per second", DMIPS/MHz.
A CoreMark eredményeinek listája a CoreMark projekt webhelyén található. Archivált 2017. szeptember 12-én a Wayback Machine (EEMBC) webhelyen. Az eredmények a következő formátumúak:
CoreMark 1.0: N/C/P/M
Például:
CoreMark 1.0 : 128 / GCC 4.1.2 -O2 -fprofile-use / Heap in TCRAM / FORK:2