Whetstone是一套基准程序,用来测试CPU的处理性能,它的基本原则是:在程序编译后生成的机器指令中,各种指令出现的频率与统计数据中指令出现的频率相符合。
Whetstone的程序比较简单,由8个模块组件,每个模块循环一定次数、执行一种基本运算。以下是每个模块的简单描述:
- 数组元素(浮点),循环12次
- 数组参数(浮点),循环14次
- 条件判断(if then else),循环345次
- 整型计算,循环210次
- 三角函数(sin, cos, etc.),循环32次
- 程序调用(浮点),循环899次
- 数组操作(赋值),循环616次
- 标准函数(exp, sqrt, etc.)循环93次
整个测试执行若干次,第一次执行100次循环,之后每次递增10次循环,即第二次执行110次循环。测试结果是每组循环的平均时间和所有循环的平均KWIPS值(Thousands of Whetstone Instruction mixes Per Second)
还是用上次的设备:
- Intel Haswell Processor
- 主频 2.8GHz
- VxWorks 6.9 SMP
- GCC 4.3.3
- 循环20次
- 数据单位: 毫秒
-> whetstone
WHETSTONE - using 64-bit floating point data. (C-Code)
1. Test (time for 100 cycles): 308 millisec.
2. Test (time for 110 cycles): 343 millisec.
3. Test (time for 120 cycles): 374 millisec.
4. Test (time for 130 cycles): 406 millisec.
5. Test (time for 140 cycles): 436 millisec.
6. Test (time for 150 cycles): 467 millisec.
7. Test (time for 160 cycles): 499 millisec.
8. Test (time for 170 cycles): 529 millisec.
9. Test (time for 180 cycles): 562 millisec.
10. Test (time for 190 cycles): 592 millisec.
11. Test (time for 200 cycles): 624 millisec.
12. Test (time for 210 cycles): 654 millisec.
13. Test (time for 220 cycles): 686 millisec.
14. Test (time for 230 cycles): 718 millisec.
15. Test (time for 240 cycles): 748 millisec.
16. Test (time for 250 cycles): 778 millisec.
17. Test (time for 260 cycles): 809 millisec.
18. Test (time for 270 cycles): 843 millisec.
19. Test (time for 280 cycles): 872 millisec.
20. Test (time for 290 cycles): 903 millisec.
Number of Runs 20
Average time per cycle 3.114939 millisec.
Average Whetstone Rating 321036 KWIPS
同样翻出来十几年前的一个数据
- Intel Processor
- 主频 1.8GHz
- VxWorks 5.5.1
- GCC 2.96
- 循环10次
- 数据单位: 毫秒
这次差距小多了,2.5倍吧
我是泰山 专注VX好多年!
一起学习 共同进步!