CoreMark
More info
- Creator
- EEMBC
- Released
- 2009
- Type
- Benchmark
- Source
- github.com/eembc/coremark
The number printed in nearly every microcontroller datasheet, quoted in CoreMark per MHz.
Released in 2009 by the industry consortium EEMBC, with Shay Gal-On as lead author, to replace Dhrystone. That 1984 benchmark was dominated by library calls like strcpy and could be optimised into meaninglessness by a sufficiently clever compiler. CoreMark instead runs linked lists, matrix multiplication and a state machine, then checks the results with a CRC — if the compiler skips the work, the checksum comes out wrong.
It is small enough for the tiniest cores, and the rules require the compiler and flags to be disclosed. That has not stopped vendors from publishing figures built with flags nobody uses in production. A Cortex-M score tells you something about the core, and nothing about flash wait states, cache, or how much of your time will be spent waiting on peripherals.