"); //-->
\classic_benchmarks\source_code\dhrystone2 \dhry.h --关于兼容性的原型定义 \dhry_1.c --主程序入口 \dhry_2.c --算法子程序 如果是移植到ARM Cortex-M平台下裸系统运行,一般只需要简单修改dhry.h和dhry_1.c文件即可,Dhrystone本身并没有太多移植工作,其源码本是用作在PC上运行的,而在嵌入式系统里运行仅需要把一些文件I/O的相关代码删除即可,此外就是计时函数和打印函数的重实现。
MIPS: million instruction per second,表示每秒多少百万条指令,如 10MIPS , 表示每秒一千万条指令。 MIPS/MHz : 表示 CPU 在每 1MHz 的运行速度下可以执行多少个MIPS , 如 10MIPS/MHz,表示如果 CPU 运行在 1MHz 的频率下,每秒可执行一千万条指令, 如果 CPU 运行在 5MHz 的频率下,每秒可执行五千万条指令。 DMIPS: Dhrystone MIPS,并非字面上每秒百万条指令的意思。 它是一个测量CPU运行一个叫Dhrystone(整数运算)的测试程序时表现出来的 相对性能高低的一个单位(很多场合人们也习惯用MIPS作为这个性能指标的单位)。缺陷
它的代码与具有代表性的实际程序代码并不相同。
Dhrystone代码量过小,在现代CPU中,它能够被放进指令缓存中,所以它并不能严格的测量取指性能。
它易受编译器影响。
举例来说,在Dhrystone中有大量的字符串复制语句,用来测量字符串复制的性能。然而Dhrystone中字符串的长度不变,并且均开始于自然对齐的边界,这两点便与真实的程序不同。因此一个优化性能好的编译器能够在去掉循环的情形下通过一连串字的移动替代对字符串的复制,这将会块很多,可能会高达30%。所以我们在编译测试程序的时候,如果指定编译器的优化等级的话,我们会发现在不同的优化登记下,表现出来的性能指标会有差别,优化等级越高,性能指标越好
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。