CoreMark is a simple, yet sophisticated, benchmark that tests the functionality of a microctronoller (MCU) or central processing unit (CPU). CoreMark is not system dependent, so it functions the same regardless of the platform (e.g. big or little endian, high-end or low-end processor).
Running CoreMark on an MCU or CPU produces a single-number score that allows users to make quick comparisons between processors.
Sometimes it’s important to isolate the CPU’s core from the other elements of the processor and focus on one key element. For example, you might want to have the ability to ignore memory and I/O effects and focus primarily on the pipeline operation. This is CoreMark’s domain. CoreMark is capable of testing a processor’s basic pipeline structure, as well as the ability to test basic read/write operations, integer operations, and control operations.
Pipeline operation, memory (or cache if any) access, and handling of integer operations.
The small size of CoreMark allows it to easily fit in a processor’s cache, which means it’s suitable for testing on a very wide range of processors, from low-end to high-end devices.
Yes. You can run multiple instantiations of CoreMark (a rate-type benchmark) and the source code includes a flag that will allow you to compile in code that supports a ‘create and destroy’ context functionality (where a context can be either threads or processes with shared memory or with sockets).
CoreMark is easily portable to a wide range of microcontrollers and microprocessors. Therefore, if you have support for the basic functionality (i.e. clock(), GetSystemTimeAsFileTime(), lock_gettime()), it could take as little as 5 minutes. Otherwise, you need to specify how timing is to be accomplished in the porting layer. CoreMark includes full documentation to support your porting efforts and comprehend the run guidelines.
All scores are located on the score page.
All registered CoreMark users are encouraged to enter their scores and platform configurations on this website. Visit this link to register and submit a score.
EMBC recommends that you utilize its application-oriented benchmark suites to thoroughly comprehend the capability of an embedded processor and associated compiler.