CoreMark Test

Материал из MIK32 микроконтроллер

Введение

Из wikipedia.org: CoreMark — набор синтетических тестов производительности для измерения скорости центральных процессоров во встраиваемых системах. Создан в 2009 году Shay Gal-On из компании EEMBC в качестве замены для антикварного бенчмарка Dhrystone 1984 года. Код тестов написан на языке программирования Си и содержит реализации таких алгоритмов: обработка связных списков (поиск и сортировка), обработка матриц (несколько матричных операций), машина состояний (определение, что входной символьный поток содержит действительные числа в десятичной записи), подсчет суммы CRC.

Более подробно о самом тесте можно почитать на https://ru.wikipedia.org/wiki/CoreMark

Измерения

Все тесты были проведены при частоте 32МГц. Код теста скомпилирован в GCC 10.

Источник кода Кэш CoreMark/-O0 CoreMark/-O1 CoreMark/-O2 CoreMark/-O3 CoreMark/-Os CoreMark/-Ofast
QSPI, 4 бит да 6.1 31 35 35 31 35
QSPI, 1 бит да 3.7 29 29 23 26 26
QSPI, 4 бит нет 1.2 3 3.6 3.9 3.9 2.3
QSPI, 1 бит нет 0.4 1.1 1.3 1.4 0.9 1.4
INT RAM NA не помещает. 34 40 40 32 40
INT FLASH NA не помещает. не помещает. не помещает. не помещает. не помещает. не помещает.

Размер кода

Параметр CoreMark/-O0 CoreMark/-O1 CoreMark/-O2 CoreMark/-O3 CoreMark/-Os CoreMark/-Ofast
Размер кода 17024 10240 10992 13328 8960 13424