本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2300862_1_1.html
前言
CoreMark是用在嵌入式系統(tǒng)中用來測(cè)量CPU性能的基準(zhǔn)程序。該標(biāo)準(zhǔn)于2009年由EEMBC(Embedded Microprocessor Benchmark Consortium 嵌入式微處理器基準(zhǔn)協(xié)會(huì))組織的Shay Gal-On提出,并且試圖將其發(fā)展成為工業(yè)標(biāo)準(zhǔn),從而代替陳舊的Dhrystone標(biāo)準(zhǔn)。CoreMark較Dhrystone避免了編譯器不同帶來的不同。
手冊(cè)中描述板載CPUcoremark跑分達(dá)到了16000,我么實(shí)際測(cè)一測(cè)。
準(zhǔn)備代碼
在windows主機(jī)中g(shù)it clonehttps://github.com/eembc/coremark.git下載代碼
通過sftp將coremark文件夾導(dǎo)入到開發(fā)板
** put -r coremark/**
cd coremark/
vi simple/core_portme.h
修改
#define COMPILER_FLAGS
FLAGS_STR** /*"Please put compiler flags here (e.g. -o3)"/*
#endif
為
#define COMPILER_FLAGS
"-O3"** /*"Please put compiler flags here (e.g. -o3)"/*
#endif
如果-O0編譯則改為”-O0”
typedef ee_u32 ee_ptr_int;
改為
typedef unsigned long ee_ptr_int;
編譯
編譯
gcc -o coremarko3 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=100000 -Isimple -I. -O3
-O0編譯則改為
gcc -o coremarko0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=100000 -Isimple -I. -O0
運(yùn)行
./coremarko0
./coremarko3
運(yùn)行結(jié)果如下
-O0 1795
-O3 8736
可以看到優(yōu)化等級(jí)的影響巨大。
由于是雙核我們這里測(cè)試的是單核所以換算8763*2就是17472. 所以手冊(cè)所說的16000沒有夸張的成分。
結(jié)果對(duì)比
可以從如下地址查看對(duì)應(yīng)處理器的得分。
https://www.eembc.org/coremark/scores.php
參考
https://www.eembc.org/coremark/
-
米爾科技
+關(guān)注
關(guān)注
5文章
227瀏覽量
21001 -
MYD-J1028X
+關(guān)注
關(guān)注
1文章
16瀏覽量
283
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論