如何计算执行时间(加速)
How to calculate execution time (speedup)
我在尝试计算加速比时被卡住了。所以给出的问题是:
问题 1
如果一个程序的 50% 增强了 2 倍,而其余 50% 增强了 4 倍,那么增强带来的整体加速是多少?提示:考虑增强前(未增强)程序在机器中的执行时间为T。然后求增强后的总执行时间T'。加速比为 T/T'.
我唯一知道的是加速 = 增强后 enhancement/execution 时间之前的执行时间。那么我可以假设答案是:
加速 = T/((50/100x1/2) + (50/100x1/4))
增强后的总执行时间= T + speedup
(50/100x1/2) 因为 50% 增强了 2 倍,同样达到 4 倍。
问题二
让我们假设一个程序的 (2/3)rd 可以通过设计中的某种 improvement/enhancement 无限快地执行 运行一个处理器。那么与未增强的(原始)机器相比,增强的处理器将 运行 快多少倍?
我可以假设它比 100/(2/3) = 150 快 150 倍吗
有什么想法吗?提前致谢。
让我们从问题 1 开始。
总时间为两半时间之和:
T = T1 + T2
然后,T1
增强了两倍。 T2
提高了 4 倍:
T' = T1' + T2'
= T1 / 2 + T2 / 4
我们知道T1
和T2
都是T
的50%。所以:
T' = 0.5 * T / 2 + 0.5 * T / 4
= 1/4 * T + 1/8 * T
= 3/8 * T
speed-up是
T / T' = T / (3/8 T) = 8/3
问题二可以类似解:
T' = T1' + T2'
T1'
减为0。T2
是T
剩下的1/3。
T' = 1/3 T
speed-up是
T / T' = 3
因此,该程序的速度是以前的三倍(或快两倍)。
我在尝试计算加速比时被卡住了。所以给出的问题是:
问题 1
如果一个程序的 50% 增强了 2 倍,而其余 50% 增强了 4 倍,那么增强带来的整体加速是多少?提示:考虑增强前(未增强)程序在机器中的执行时间为T。然后求增强后的总执行时间T'。加速比为 T/T'.
我唯一知道的是加速 = 增强后 enhancement/execution 时间之前的执行时间。那么我可以假设答案是:
加速 = T/((50/100x1/2) + (50/100x1/4))
增强后的总执行时间= T + speedup
(50/100x1/2) 因为 50% 增强了 2 倍,同样达到 4 倍。
问题二
让我们假设一个程序的 (2/3)rd 可以通过设计中的某种 improvement/enhancement 无限快地执行 运行一个处理器。那么与未增强的(原始)机器相比,增强的处理器将 运行 快多少倍?
我可以假设它比 100/(2/3) = 150 快 150 倍吗
有什么想法吗?提前致谢。
让我们从问题 1 开始。
总时间为两半时间之和:
T = T1 + T2
然后,T1
增强了两倍。 T2
提高了 4 倍:
T' = T1' + T2'
= T1 / 2 + T2 / 4
我们知道T1
和T2
都是T
的50%。所以:
T' = 0.5 * T / 2 + 0.5 * T / 4
= 1/4 * T + 1/8 * T
= 3/8 * T
speed-up是
T / T' = T / (3/8 T) = 8/3
问题二可以类似解:
T' = T1' + T2'
T1'
减为0。T2
是T
剩下的1/3。
T' = 1/3 T
speed-up是
T / T' = 3
因此,该程序的速度是以前的三倍(或快两倍)。