Coremark
# Coremark

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. Die Software ist in C geschrieben und enthält Implementierungen der folgenden Algorithmen: Listenverarbeitung (Finden und Sortieren), Matrizenoperationen, Zustandsautomaten und CRC.

## Motivation

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. Etablierte Firmen auf dem Embedded-Markt wie ARM unterstützen den Benchmark.

## Bewertung

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.

## Ergebnisse

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]
* N Anzahl der Iterationen mit Seed
* C Compiler-Version und -Flags
* P Parameter wie z. B. für die Daten- und Codeallozierungen
* M – Art der parallelen Ausführung (falls verwendet) und Anzahl der Kontexte
Beispiel: CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Heap in TCRAM / FORK:2