Benchmark 和性能评测综述 1. 简介 1.1 性能评估标准 用户使用计算机的主要原因是使工作效率更高,更快的完成任务。这也是用户非常关心计算机性能的原因。 那么计算机性能评价的标准是什么?直到上世纪 80 年代后期,评价计算机性能的主要标准是MIPS(million instru ctions per second)和Mflops(million floating-point operations per second);通过计算每条指令在运行时的百分比,就可以得到这两个数据。但是这两个标准在评价不同的指令集体系结构就失去了意思,例如 CISC 体系结构和RISC 体系结构,RISC 指令比 CISC指令更简单更快。 但是,人们一直都想建立一个性能评测的标准,而现在公认的方法就是通过运行评测程序(我们也称之为 benchmark),比较运行的时间来评价性能的好坏。 1.2 关于评测程序(benchmark) 选择合理的评测程序是正确评价性能的基础,下面列出 5 种评测程序,他们评测的准确程序依次递减 1. 真实的程序:虽然得到的结果最真实,但是经常碰到一些由于依赖操作系统或者编译器而引起的移植性问题 2. 修改过的程序:很多情况下通过修改真实的程序来构造基准程序,主要是为了两个原因:要么增强可移植性,要么是为了集中测试某种特定的系统功能 3. 程序内核:从真实的程序中提取出一些小而关键的程序片断来评估程序性能。程序内核的最大用途就是分别测试机器的各项性能,以解释运行真实程序性能差异的原因。典型的是Linpack 和Liv ermore。 4. 小型基准程序:通常只有 10-100 行那么大,用户在测试前往往就知道了运行结果。 5. 综合(sy nthetic)基准程序:也可以说是人造(sy nthetic)程序,取大量程序的指令和操作书出现频率的平均值,与真实的情况差距最远,只是最早期的时候才有这样的评测程序。 然而因为机器的性价比关系到企业的兴衰,各企业都不遗余力的提高机器运行广泛使用的测试软件的性能,可是针对每个真实程序优化却是不太可能的。于是,将一些基准测试软件集中在一起来评测处理器性能的方法就十分的流行,它的优点是单独某一种测试软件的弱点会被另一种测试软件所掩盖。 1.3 关于执行时间 但是怎么根据一组程序的运行结果综合的评价计算机的性能?下面是几个方法 总执行时间:最简单的相对相对性能综合评价方法就是比较几个程序的总的执行时间。对总执行时间取算术平均值,就得到平均总执行时间… 加权执行时间:总执行时间方法的问题是每个程序在工作负载中所占...