Performance 总加速比是多少?

Performance 总加速比是多少?,performance,computer-architecture,Performance,Computer Architecture,这不是家庭作业。我在自己的时间参加计算机架构MOOC。有个问题我想不出来,也许有人能帮我。 这是: 内存操作当前占用30%的执行时间 一个叫做“缓存”的新部件将80%的内存操作速度提高了4倍 第二个新的widger称为“二级缓存”,将剩余20%的速度提高了1/2,提高了2倍 总加速比是多少 以下是用于计算加速比的公式: 加速比=1/[(1-非加速部分)+(加速部分 1) /speedup1+(加速部分2)/speedup2+…] 我计算如下: Speedup = 1 / [0.7 + 0.3

这不是家庭作业。我在自己的时间参加计算机架构MOOC。有个问题我想不出来,也许有人能帮我。 这是:

内存操作当前占用30%的执行时间

  • 一个叫做“缓存”的新部件将80%的内存操作速度提高了4倍
  • 第二个新的widger称为“二级缓存”,将剩余20%的速度提高了1/2,提高了2倍
总加速比是多少

以下是用于计算加速比的公式:

加速比=1/[(1-非加速部分)+(加速部分 1) /speedup1+(加速部分2)/speedup2+…]

我计算如下:

Speedup = 1 / [0.7 + 0.3*0.8/4 + 0.3*0.2*0.5/2 + 0.3*0.2*0.5] = 1.2422
但答案是错误的,这表明我的推理是错误的,但我无法找出哪里是错误的。有人能帮我吗


谢谢。

所以我的第一个答案是正确的。碰巧,答案必须在小数点后2位。也就是说,1.2422是错误的答案,1.24是正确的答案。很抱歉让大家感到困惑,谢谢大家的帮助。

我猜相对于未优化的新运行时的计算公式是:
0.8*0.25+0.2*0.5=0.3
,因此您的代码运行时间是原始时间的30%。@BitTickler您能详细说明一下吗,我不太清楚你想说什么。对于未优化的代码,我的模型公式是1.0(100%代码)*1.0(100%速度)。将其拆分为80/20看起来像:
0.8*1.0+0.2*1.0=1.0
。现在你只需要0.8部分的1/4时间和0.2部分的1/2时间,你就可以得到我上面的公式。@BitTickler我已经尝试过这种方法了。它告诉我这是一个错误的答案。根据你发布的答案,我投票将其作为主题关闭,因为它无法复制或是打字错误。(在本例中,这只是由于小数点太多而导致的错误。)