Skip to content
/ coremark Public

CoreMark® is an industry-standard benchmark that measures the performance of central processing units (CPU) and embedded microcrontrollers (MCU).

License

Notifications You must be signed in to change notification settings

eembc/coremark

Repository files navigation

ArduinoCoreMark

ArduinoCoreMark is a CPU performance benchmark for Arduino platform based on EEMBC CoreMark. It measures the performance of CPU by performing various tasks such as linked list processing, matrix manipulation, state machines execution.

Requirements

CoreMark requires about 2.5 KiB (2560 bytes) SRAM. So, boards such as Arduino UNO is not supported.

Installation

ArduinoCoreMark is published on PlatformIO Registry and can be installed using the following command:

pio pkg install --library "lindevs/arduino-coremark"

Code example

#include <Arduino.h>
#include <core_arduino.h>

void setup()
{
    Serial.begin(115200);
}

void loop()
{
    startCoremark();
    delay(5000);
}

Output example

2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 14658
Total time (secs): 14.66
Iterations/Sec   : 7.50
Iterations       : 110
Compiler version : GCC7.3.0
Compiler flags   : (flags unknown)
Memory location  : STACK
seedcrc          : 0xE9F5
[0]crclist       : 0xE714
[0]crcmatrix     : 0x1FD7
[0]crcstate      : 0x8E3A
[0]crcfinal      : 0x134
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 7.50 / GCC7.3.0 (flags unknown) / STACK

About

CoreMark® is an industry-standard benchmark that measures the performance of central processing units (CPU) and embedded microcrontrollers (MCU).

Resources

License

Stars

Watchers

Forks

Packages

No packages published