|
||||||||||||||||
假如我们能够在选用程序、实验环境和"快"的定义方面取得一致的话,我们就能够对几台机器性能进行比较。然而,结果却往往不是这样的,下面举例说明。 表1.1 程序1 和程序2在三台机器上的执行时间
我们会得出:
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)表示,那么平均时间是调和平均: |