性能的真正含义是在更短的时间内解决问题
SPEC全称:
Standard Performance Evaluation Corporation,SPEC
基本思想:
从实际生活中挑选一些有代表性的计算问题,再在计算机上使用软件解决这些问题。软件运行的时间越短,则计算机的性能越高。
面向问题的性能评价标准屏蔽了计算机本身的硬件参数,不再考虑主频、指令这种实现层面的因素,所得出的结果更符合性能的本质意义——计算机在单位时间内完成多少计算量,因此得到广泛接受。
SPEC CUP:
这个工具从典型的实际应用中抽取几十个计算问题,涉及的领域有文件压缩、国际象棋求解、有限元模型、分子动力学、大气学、地震波模拟等等。针对每一个问题使用高级程序语言编写了标准的计算软件,并且规定好输入数据。使用高级程序语言的好处是,软件代码用C语言、Fortran等和cpu无关的语言编写,能够在任何计算机上运行。
测试范围:
(1)支持一个CPU;
(2)支持多个CPU同时测试
(3)支持CPU与内存、外围设备交换数据的测试。
性能测试工具的局限性:
(1) 编译器对SPEC CPU分值的影响。在同样的CPU上,优化编译器是可以提升软件执行效率的。编译器是吧高级语言源代码转换成CPU所能执行的二进制指令的软件。优秀的编译器能够使用更多的优化算法,生成更高效的二进制指令。如intel公司自己开发的icc编译器,效率能比开源的gcc编译器高50%以上。
(2)测试工具所选的问题不代表所有应用场景的问题,SPEC CPU分值高并不代表CPU运行所有的应用程序都能有好的结果。
总结:
虽然SPEC CPU有诸多不足,但是它目前仍然是衡量计算机性能的权威工具。无论是修改编译器,还是为了跑分高而在CPU中加入专门的设计,都有“骗测试集”之嫌,但是想把SPEC CPU分值提高到一流水平仍然是需要硬实力的。