Optimization 如何计算性能测试响应时间的改进百分比

Optimization 如何计算性能测试响应时间的改进百分比,optimization,time,Optimization,Time,我应该如何计算响应时间的改进百分比 旧代码的响应时间为15306 ms,更新代码的响应时间为799 ms。响应时间的改善百分比是多少?有两种解释“响应时间的改善百分比”的方法。一个是计算数据点从旧值到新值的百分比变化的经典且普遍存在的公式,如下所示: (new - old)/old*100% 因此,对于您的情况: (799 - 15306)/15306*100% = -94.78% 799/15306*100% = 5.22% 这意味着新值比旧值小94.78%(更快,因为我们谈论的是响应时

我应该如何计算响应时间的改进百分比


旧代码的响应时间为
15306 ms
,更新代码的响应时间为
799 ms
。响应时间的改善百分比是多少?

有两种解释“响应时间的改善百分比”的方法。一个是计算数据点从旧值到新值的百分比变化的经典且普遍存在的公式,如下所示:

(new - old)/old*100%
因此,对于您的情况:

(799 - 15306)/15306*100% = -94.78%
799/15306*100% = 5.22%
这意味着新值比旧值小94.78%(更快,因为我们谈论的是响应时间)

解释该语句的第二种方法是采用新值“覆盖”或“达到”的旧值的百分比:

对于您的情况:

(799 - 15306)/15306*100% = -94.78%
799/15306*100% = 5.22%
这意味着新值仅为旧值的5.22%,就响应时间而言,这意味着与旧响应时间相比,只需要5.22%的响应时间

“改进”一词的使用表明您需要94.78%的值,因为这表明新代码消除了旧响应时间中的延迟(“改进”)。但对于自然语言,如果不仔细澄清,就很难确定其确切含义。

((旧时代-新时代)/旧时代)*100
此公式将给出新响应时间中减少的百分比。


在你的例子中,((15306-799)/15306)*100=94.78%

实际上,性能是指在相同的时间内可以完成多少工作

所以公式是
OLD/NEW-1
在您的情况下,您的绩效增加了1816%(即,您可以同时多做18.16倍)


注意:在您可以执行1/15360之前,现在是1/799…

您的代码的运行时间缩短了94.78%/改进了/减少了:

(new - old) / old x 100%
(799 - 15306) / 15306 x 100% =~ -94.78% (minus represents decrease)
您的代码快了1816%:

(old - new) / new x 100%
(15306 - 799) / 799 x 100% =~ 1816%

计算减少百分比的公式为:

P = a/b × 100
其中p为减少百分比,a为减少量,b为原始减少量

因此,要计算
a
,您需要:
old-new
将其转换为:

P = ((OLD - NEW)/OLD)*100
我认为上面的答案与原来的问题不符 很好的整数,有3种不同的方式来陈述 结果

假设旧时间为10秒,新时间为5秒。 在新的时间里,显然有50%的减少:

(old-new)/old x 100% = (10-5)/10 x 100% = 50%
但是,当你谈论性能的提高时,如果提高的幅度越大,显然就越好,你不能使用上面的公式。相反,性能的提高是100%

(old-new)/new x 100% = (10-5)/5 x 100% = 100%
5秒时间比10秒时间快2倍。换一种方式说,你现在可以做两次(2倍)的任务,每次你都可以做

old/new = 10/5 = 2.0

现在让我们考虑一下原来的问题。 旧时间为
15306ms
,新时间为
799ms

时间缩短了94.7%

(old-new)/old x 100% = (15306-799)/15306 x 100% = 94.7%
性能提高了1816%:

(old-new)/new x 100% = (15306-799)/799 x 100% = 1815.6%
您的新时间缩短了19倍:

old/new = 15306/799 = 19.16

几个回答已经正确地回答了这个问题,但是让我用一些额外的想法和一个实际的例子来扩展这些答案

改善百分比通常计算为((新-旧)/旧)*100

让我们用一些实际的例子来思考一下:

  • 如果我在目前的工作中挣了10000美元,并且得到了一份12000美元的新工作,那么这份新工作将使我的薪水增加20%((12000-10000)/10000)*100
  • 如果A列以每小时100英里的速度行驶,B列以每小时150英里的速度行驶,B列比A列快50%。很简单,对吗
当您尝试使用另一个与您尝试度量的度量具有相反关系的度量来度量度量度量时,会变得很棘手。让我解释一下我的意思

现在让我们使用“到达目的地所需的时间”再次尝试第二个示例。假设A列火车需要3小时到达目的地,B列火车需要2小时到达同一目的地。B列比A列快多少百分比

如果我们使用与上述示例中相同的公式,我们得到((2-3)/3)*100,即-33%。这仅仅说明B列火车到达目的地的时间比A列火车少33%,但这不是我们想要确定的。对吗?我们试图用百分比来衡量速度的差异。如果我们稍微改变一下公式,取绝对值,我们会得到33%,这似乎是正确的,但实际上并非如此。(我马上解释原因)

那么,我们该怎么办?我们需要做的第一件事是将手头的度量转换为我们想要度量的度量。之后,我们应该能够使用相同的公式。在本例中,我们试图测量速度差。让我们先计算一下每列火车的速度。A列列车以每小时1/3的速度行驶。列车B以每小时1/2的速度运行。那么速度的百分比差异是:((1/2-1/3)/1/3)*100=((1/2-1/3)*3)*100=(3/2-3/3)*100=50%

正好和((3-2)/2)*100一样

简而言之,当我们正在测量的度量与我们手头的度量成反比关系时,公式应该是

((新旧)/新)*100

原来的公式有什么问题?为什么我们不能用原来的公式得出B列只快33%的结论?因为它是不准确的。原始公式总是产生小于100%的结果。想象一下,一架飞机在15分钟内到达同一目的地?第一个公式告诉我们飞行速度快91.6%,而第二个公式告诉我们飞行速度快1100%(或快11倍),这更准确

使用此修改后的公式,在