一次Whetstone测试

2021-09-15 12:32:06 浏览数 (1)

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次
  • 数据单位: 毫秒
代码语言:javascript复制
-> 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好多年!

一起学习 共同进步!

0 人点赞