遇到个有意思的问题:如何计算「性能提升率」?

重新编辑一下帖子,感兴趣的可以自己算一下,然后问问不同的AI(AI的结果差异比较有意思)。

  1. 如果一个操作原先需要耗时 10s ,现在宣称性能提升了 50%,那么现在这个操作需要多少耗时?
    A 5s B 6.67s

  2. 同一个操作,耗时从 10s 缩减到 5s,性能提升了多少?
    A 50% B 100% C 200% D 300%

应该是第一种吧,时间=总工作量/性能.
第二种太扯了,性能提升100%耗时直接归零?

如上所说,第二种定义会导致悖论:任何初始状态提升100%的结果都是一样的,因此任何初始状态的初始效率必然是一样的,因而无任何性能提升。

提升率 = 减少的时间 / 原时间 x 100%

50% = x / 10s x 100%

x = 5s

提升率指的是效率提升率啊,你拿时间算干啥呢?

:sweat_smile:
工作总量一定, 工作效率与时间成反比, 应该比的是时间的倒数吧?
小学数学内容吵个啥?

比较两个效率不用算时间,但效率本身是要用时间算出来的啊。

很多人不会算,AI 不会算。

很明显第一种啊。通俗来讲,性能提升不就是单位时间能干的活(浮点运算、数据读写、图形性能等)更多了。这是小学数学题么?

假设工作总量为 x,原先“性能”为 0.1x,提升 50% 后为 0.15x,那要花的时间自然是 x / 0.15x ≈ 6.67s。而耗时从 10s 缩减到 5s,“性能”从 0.1x 变为 0.2x,当然是 100% 提升。

感觉这个问题里的 “性能” 应该可以理解为 “速率”,或者"功率"。那么有:

P(功率)= W(功)÷ t(用时)

在性能提升之前,有

P1 = W ÷ t1 (1)

性能提升后,有

P2 = W ÷ t2 (2)

其中,由于做的是同一工作,(1) 与 (2) 中的功 W 是一样的。且由于性能提升了 50%,可知工作速率提升了 50%,也就是说功率提高了 50 %,则应有

P2 = P1 × (1+0.5) = 1.5 P1 (3)

联立 (1)-(3),有

1 ÷ t2 = 1.5 ÷ t1

移项,得

t1 = 10s = 1.5 t2

t2 = 10s ÷ 1.5 ≈ 6.67s

感觉这个问题的核心是对 “性能” 的理解。性能是个很宽泛的概念,而在定量计算中,我们需要一个指标来衡量性能。而对于这个问题,这个指标应该是功率(因为涉及了时间的比较)。如果直接向 AI 询问 “性能”,恐怕它对这一概念的理解会出现偏差,从而给出一些不正确的答案。

我觉得这个问题拉低了论坛的水准

1 个赞

我觉得这个问题反过来会比较有意思:
如果原先性能为5,提升后性能为10,如何才能最博眼球地宣传你的性能提升?

(新-旧)/旧,一般这么算吧