bananymous wrote:
Hi. We are trying to measure coremark on esp32-c3. We have got score of 386 with -O3 which significantly less than the one marked in the datasheet (407.22). Does anyone know which parameters are selected in menuconfig in the datasheet benchmark? Is there a github repo with the settings of the datasheet's measurement?
I've opened a PR with coremark component and example:
https://github.com/espressif/idf-extra- ... s/pull/216.
I'm getting 409 coremark with it:
Code: Select all
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 14661
Total time (secs): 14.661000
Iterations/Sec : 409.249028
Iterations : 6000
Compiler version : GCC12.2.0
Compiler flags : -ffunction-sections -fdata-sections -gdwarf-4 -ggdb -nostartfiles -nostartfiles -Og -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -O3 -fjump-tables -ftree-switch-conversion
Memory location : IRAM
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0xa14c
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 409.249028 / GCC12.2.0 -ffunction-sections -fdata-sections -gdwarf-4 -ggdb -nostartfiles -nostartfiles -Og -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -O3 -fjump-tables -ftree-switch-conversion / IRAM
CPU frequency: 160 MHz
I guess the difference may be in enabling "-fjump-tables -ftree-switch-conversion" flags, which are disabled in IDF build system by default since v5.0.