Skip to content

ArduinoCoreMark is a CPU performance benchmark for Arduino platform based on EEMBC CoreMark.

License

Notifications You must be signed in to change notification settings

lindevs/arduino-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.

Read the following blog post for additional information.

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

ArduinoCoreMark is a CPU performance benchmark for Arduino platform based on EEMBC CoreMark.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.4%
  • C++ 2.6%