两个概念:
1.可改进比例:
2.部件加速比:
(类比跑50米,花20秒后改进为10秒,加速比为=2,也就是提高两倍)
举一个例子:一个需要运行60秒的程序中有20秒的运算可以加速,那么他的 可改进比例 =
现在假如 这个20秒可以提速为10秒,那么他的 部件加速比 = ,比原本提高两倍
改进后的总执行时间 = 不可改进部分的执行时间 + 可改进部分改进后的执行时间 40 + 10 = 50
换一种算法:
不可改进部分的执行时间 = (1 - 可改进比例) 改进前总执行时间
不可改进部分的执行时间 =
改进前总执行时间
可改进部分改进后的执行时间 =
可改进部分改进后的执行时间 = 改进前可改进部分的执行时间
由上面这两个式子可得:
改进后的总执行时间 = (1 - 可改进比例)改进前总执行时间 + 可改进比例
(1 -
)
60 +
40 +
40 + 20
= 50
由公式可得:已知改进前系统总执行时间,可改进比例(改进前此部件执行时间占整个系统总执行时间的百分之多少),还有部件加速比(部件改进后的速度比改进前提高了多少倍),就可以算出 改进后系统的总执行时间
3.系统加速比:
= 1.2
刚才已经求出 改进后的总执行时间,把改进前总执行时间抽出来合并一下,可得:
改进后的总执行时间 = ( (1 - 可改进比例) + ) )
改进前总执行时间
那么,系统加速比 =
系统加速比 =
=
=
= 1.2
由公式可得:已知可改进比例(改进前此部件执行时间占整个系统总执行时间的百分之多少),还有部件加速比(部件改进后的速度比改进前提高了多少倍),就可以算出 整个系统的加速比
由公式:系统加速比 = 可以得出:
当部件可改进比例为0时,系统加速比为1;
当部件加速比趋于无穷大时,就会趋于0,这时有:系统加速比 =
;
所以可得到一个重要推论:如果只针对整个任务的一部分进行改进和优化,那么所获得的加速比不超过