第一章 计算机系统结构的基本概念


2.性能的比较

  假如我们能够在选用程序、实验环境和"快"的定义方面取得一致的话,我们就能够对几台机器性能进行比较。然而,结果却往往不是这样的,下面举例说明。
  表1.1是两个程序在三台计算机上的执行时间。

表1.1 程序1 和程序2在三台机器上的执行时间

.
A 机
B机
C机
程序1
1秒
10秒
20秒
程序2
1000秒
100秒
20秒
总时间
1001秒
110秒
40秒
  我们会得出:
  A 机执行程序1 的速度是B机的10倍;
  B 机执行程序2 的速度是A机的10倍;
  A 机执行程序1 的速度是C机的20倍;
  C 机执行程序2 的速度是A机的50倍;
  B 机执行程序1 的速度是C机的2倍;
  C 机执行程序2 的速度是B机的5倍。
  如果孤立地看,上面任何一条都正确,然而综合起来考虑,A、B、C三种机器的性能谁好谁坏就很难说清楚了。那么怎样进行比较呢?
  (1)总执行时间:一致的衡量标准
  评价相关性能的最简单的办法是用这两个程序的总执行时间,那么就会有:
  B 机执行程序1和程序2的速度是A机的9.1倍;
  C机执行程序1和程序2的速度是A机的25倍;
  C机执行程序1和程序2的速度是B机的2.75倍。
  这种评价的根据是执行时间,它是我们的最终评价标准。
  平均执行时间是各执行时间的算术平均值

    
  其中 是第i个程序的执行时间。
  如果性能是用速度(例如MFLOPS)表示,那么平均时间是调和平均: