CoreMark ist ein Benchmark zur Messung der Leistung von CPUs, hauptsächlich aus dem Embedded-Bereich. Er wurde vom EEMBC entwickelt, um einen Industriestandard zu etablieren.[1] Die Software ist in C geschrieben und enthält Implementierungen der folgenden Algorithmen: Listenverarbeitung (Finden und Sortieren), Matrizenoperationen, Zustandsautomaten und CRC.
Die Motivation hinter CoreMark ist die Schaffung eines generischen und skalierbaren Benchmarks, der für eine große Zahl von Systemen erhältlich ist. Er sollte komplexer und weniger synthetisch als Dhrystone, aber besser auf eingebettete Systeme portierbar als SPECint sein.[2] Etablierte Firmen auf dem Embedded-Markt wie ARM unterstützen den Benchmark.[3]
Der CoreMark erlaubt einen Vergleich einer großen Anzahl von Systemen, wobei nicht nur der Embedded-Bereich, sondern auch Desktop- und Server-Systeme abgedeckt werden. Problematisch ist aber, dass die Hardware-Hersteller Compiler-Einstellungen optimieren können, was die Vergleichbarkeit der Ergebnisse verschiedener Systemarchitekturen erschwert oder fast unmöglich macht.[4][5]
CoreMark-Ergebnisse können auf der CoreMark-Website durchsucht und angeschaut werden. Die Ergebnisse haben das folgende Format:
CoreMark 1.0: N / C [/ P] [/ M]
Beispiel: CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Heap in TCRAM / FORK:2