esp: ESP32 CPU CoreMark跑分测试

CoreMark

CoreMark 是什么?

CoreMark 是一款简单但复杂的基准测试,专门用于测试处理器核心的功能。CoreMark 体积小、可移植、易于理解、免费,运行 CoreMark 会产生一个单一数字的分数,让用户能够快速比较处理器。

EEMBC(Embedded Microprocessor Benchmark Consortium,嵌入式微处理器基准评测协会) 的 CoreMark® 是一种基准测试,用于测量 嵌入式系统 中使用的 微控制器 (MCU) 和 中央处理器 (CPU) 的性能。Coremark 取代了过时的 Dhrystone 基准测试,包含以下算法的实现:

  • 列表处理(查找和排序)
  • 矩阵操作(常见矩阵操作)
  • 状态机(确定输入流是否包含有效数字)
  • CRC(循环冗余校验)

它旨在在从 8 位微控制器到 64 位微处理器的设备上运行。

在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:DhrystoneMIPS、CoreMark,其中CoreMark是一种新兴流行的嵌入式系统处理器测试基准,被认为是比Dhrystone和MIPS更具有实际价值的测试基准。

EEMBC跑分榜:https://www.eembc.org/coremark/scores.php

esp32跑分

对于MCU来说,一个重要指标是功耗,还有一个重要指标就是性能

esp32_datasheet_cn.pdf 中对于 Xtensa® 32-bit LX6 单/双核处理器 CPU的CoreMark性能跑分介绍:

  • 单核,主频 240 MHz:504.85 CoreMark;2.10 CoreMark/MHz
  • 双核,主频 240 MHz:994.26 CoreMark;4.14 CoreMark/MHz

目前已经从 emmbc/coremark Github上 Fork 项目,并根据 ESP-IDF 适配 ESP32。

参考来源

CPU性能测试——CoreMark篇