【发布时间】:2015-01-21 17:09:19
【问题描述】:
首先,我将简要介绍一下我做了什么。
我从这里下载了 dhry.h dhry_1.c 和 dhry_2.c: http://giga.cps.unizar.es/~spd/src/other/dhry/
然后我根据这个做了一些更正(以便我编译):
https://github.com/maximeh/buildroot/blob/master/package/dhrystone/dhrystone-2-HZ.patch
还有这个
Errors while compiling dhrystone in unix
我已经使用以下命令行编译了文件:
gcc dhry_1.c dhry_2.c -O2 -o 运行
我终于输入了运行次数为1000000000
然后等待。我用四种不同的优化级别进行编译,得到了这些 DMIPS 值(根据http://en.wikipedia.org/wiki/Dhrystone,这是每秒 Dhrystones 除以 1757):
O0: 8112 O1: 16823.9 O2: 22977.5 O3: 23164.5(这些代表编译器标志,例如 -O2 是优化级别 2 而 O0 是无)。
这将给出以下 DMIPS/MHz(我的处理器的基本频率为 3.4 GHz):
2.3859 4.9482 6.7581 6.8131
但是,我觉得 6.7 太低了。根据我所读到的,A15 的频率在 3.5 到 4 DMIPS/MHz 之间,而第三代 I7 只有两倍?不应该高很多吗?
谁能从我的程序中告诉我是否可以看出我可能做错了什么?还是我对结果的解释有误?
【问题讨论】:
标签: c benchmarking