CoreMark
Подробнее
- Создатель
- EEMBC
- Год
- 2009
- Тип
- Бенчмарк
- Исходный код
- github.com/eembc/coremark
Число, которое указано почти в каждом даташите микроконтроллера, — в пересчёте на CoreMark/МГц.
Выпущен в 2009 году отраслевым консорциумом EEMBC (ведущий автор — Шей Гал-Он) на смену Dhrystone. Тот бенчмарк 1984 года в основном гонял библиотечные вызовы вроде strcpy, и достаточно хитрый компилятор мог оптимизировать его до полной бессмысленности. CoreMark вместо этого работает со связными списками, умножением матриц и конечным автоматом, а результат проверяет по CRC: если компилятор пропустил работу, контрольная сумма не сойдётся.
Он достаточно мал для самых крошечных ядер, а правила требуют раскрывать компилятор и флаги. Это не мешает производителям публиковать цифры, полученные с флагами, которые никто не использует в продакшене. Результат для Cortex-M что-то говорит о ядре и ничего — о wait states флеш-памяти, кэше и о том, сколько времени вы проведёте в ожидании периферии.