C语言 在现代PC上解释Dhrystone基准测试结果



首先,我将介绍一下我所做的事情。

我从这里下载了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

而这个

在 unix 中编译 dhrystone 时出错

我使用以下命令行编译了文件:

GCC dhry_1.c dhry_2.c -O2 -o run

我最终输入的运行次数为 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

但是,我感觉 tha 6.7 很低。根据我所读到的内容,A15 的 DMIPS/MHz 在 3.5 到 4 之间,而第三代 I7 只有两倍?不应该高很多吗?

谁能从我的程序中告诉我,如果他们能看到我可能做错了什么?或者也许我错误地解释了结果?

除非使用广泛的画笔处理,否则无法比较不同编译器生成的基准测试结果。作为第一个标准基准测试(Whetstone)的设计权威,我可以建议,与计算机制造商内部编译器的结果进行比较更不安全。在小型计算机时代,制造商发现Whetstone基准测试的某些部分可以优化,使分数翻倍。我安排了更改和更详细的结果,以避免后来突出显示过度优化。

以下是我原始(1990年代)Dhrystone基准测试在PC上的示例结果。有关详细信息,更多结果以及(免费)执行和源文件请参阅:

http://www.roylongbottom.org.uk/dhrystone%20results.htm

还包括从相同的源代码编译的结果,包括来自后来的MS编译器的结果,一些通过Linux和Android,通过ARM CPU,加上一个通过Houdini兼容层的Intel Atom。我更喜欢术语VAX MIPS而不是DMIPS,因为1757除数是DEC VAX 11/780的结果。无论如何,还显示了MIPS/MHz计算。请注意由于编译器和Android ARM CPU上特别低的比率而导致的差异。

                          Dhry1   Dhry1   Dhry2   Dhry2     Dhry2
                            Opt   NoOpt     Opt   NoOpt       Opt
                            VAX     VAX     VAX     VAX     MIPS/
CPU                 MHz    MIPS    MIPS    MIPS    MIPS       MHz
AMD 80386            40    17.5    4.32    13.7    4.53       0.3
80486 DX2            66    45.1      12    35.3    12.4       0.5
Pentium             100     169    31.8     122    32.2       1.2
Pentium Pro         200     373    92.4     312    91.9       1.6
Pentium II          300     544     132     477     136       1.6
Pentium III         450     846     197     722     203       1.6
Pentium 4          1900    2593     261    2003     269       1.1
Atom               1666    2600     772    1948     780       1.2
Athlon 64          2211    5798    1348    4462    1312       2.0
Core 2 Duo 1 CP    2400    7145    1198    6446    1251       2.7
Phenom II 1 CP     3000    9462    2250    7615    2253       2.5
Core i7 4820K      3900   14776    2006   11978    2014       3.1
Later Intel Compiler
Pentium 4          1900    2613            1795               0.9
Athlon 64          2211    6104            3720               1.7
Core 2 Duo         2400    8094            5476               2.3
Phenom II          3000    9768            6006               2.0
Core i7 4820K      3900   15587           10347               2.7
Linux Ubuntu GCC Compiler
Atom               1666    5485    1198    2055    1194       1.2
Athlon 64          2211    9034    2286    4580    2347       2.1
Core 2 Duo         2400   13599    3428    5852    3348       2.4
Phenom II          3000   13406    3368    6676    3470       2.2
Core i7 4820K      3900   29277    7108   16356    7478       4.2
ARM Android NDK
926EJ               800                     356     196       0.4
v7-A9              1500                    1650     786       1.1
v7-A15             1700                    3189    1504       1.9
Atom Houdini       1866                    1840    1310       1.0

相关内容

  • 没有找到相关文章

最新更新