Performance 性能改进计算混乱

Performance 性能改进计算混乱,performance,performancecounter,performance-testing,Performance,Performancecounter,Performance Testing,前几天,我将一段特定代码的性能从34秒提高到了2秒,我在计算相同的百分比,即(34-2)/34,即94.11%,当我在会议上说出这个数字时,人们并不感到惊讶。。我想知道我是不是打错了电话 您通常如何衡量改进,同时又让自己看起来不错?速度(或吞吐量)与时间的倒数成正比。因此,它实际上是一个快了34/2=17x的系数(如果你想让人印象深刻的话,你可以称之为(34-2)/2=1600%速度增加)。我想我会说“我把速度提高了16倍以上”或者“我把速度提高了一个数量级(当然是以16为基数)。”如果你想同时

前几天,我将一段特定代码的性能从34秒提高到了2秒,我在计算相同的百分比,即(34-2)/34,即94.11%,当我在会议上说出这个数字时,人们并不感到惊讶。。我想知道我是不是打错了电话


您通常如何衡量改进,同时又让自己看起来不错?

速度(或吞吐量)与时间的倒数成正比。因此,它实际上是一个快了
34/2=17x
的系数(如果你想让人印象深刻的话,你可以称之为
(34-2)/2=1600%
速度增加)。

我想我会说“我把速度提高了16倍以上”或者“我把速度提高了一个数量级(当然是以16为基数)。”如果你想同时看起来漂亮,你可能需要去买新衣服。(当然,我和营销周刊相处的时间太长了,所以我使用了“比”这样的短语,因为这听起来像是天方夜谭。)

那么“在十七分之一的时间内执行”或者“与之前的三十四秒相比需要两秒”呢。说某物的速度是原来的两倍,等于说它提高了100%,这等于说它是原来速度的200%(不管是指什么)。当你说“改进”或“增加”时,你暗指原始金额+改进

例如: 你有3美元。你的钱翻了一倍,达到6美元。这是一个100%的改进(或100%的增加),因为你有原来的$3+新的$3(等于原来金额的100%)。但你也可以说你拥有了以前的200%,因为$3*200%=$3*2=$6

现在,就速度而言,用古老的代数方程来思考这个问题: 速率*时间=距离。除了我们,“距离”更像是“完成的工作”

因此,如果一个特定的作业最初需要1秒,而您更改了内容,使其在0.5秒内执行相同的作业: 原创的

R*1sec=1作业

R=1作业/1秒=1作业/秒

新的 R*0.5秒=1个作业

R=1作业/0.5秒=2作业/秒

因此,你的速度加倍了。你可以说利率增加了100%,或者说利率翻了一番,或者说它比以前快了200%

--------------------编辑以使用OP的编号------

原创的

R*34秒=1个作业

R=1job/34秒=1/34 job/sec=0.029 job/sec

新的

R*2sec=1个作业

R=1作业/2秒=1/2作业/秒=0.5作业/秒

因此,将速率0.029个作业/秒与0.5个作业/秒进行比较

0.5/0.029=17


因此,新代码的运行速度提高了17倍,或者是1700%,或者是增加了1600%。

嗯,实际上是1600%。否则,你什么也不做就可以实现100%的改善…@Henning:好的观点-我已经更新了百分比计算,现在考虑到了这一点。当改善为负值时,要小心;你可能想知道为什么你看不到负面的巨大数字。在积极的方向上,您可以将速度提高数百万%,但在消极的方向上,您永远无法将速度提高超过100%,因为-100%的提高相当于零吞吐量。因此,如果它慢了一百倍,那就在-99%到-100%之间。而100倍的速度是9900%的改善。如果重要的是沟通消极的改进,你可以考虑使用乘法器(即100X更慢或更快)。嗯,我看好多了没有他们…如果你明白我的意思,我希望你不必去看厕所我想让你用OP的例子中的数字。很好。我最初只是用简单的数字来解释,但OP数字会更有用。我在编辑中添加了它们。