性能改进计算mumbo jumbo

时间:2011-08-16 22:05:14

标签: performance performancecounter performance-testing

那么有一天,我将特定代码片段的性能从34秒提高到2秒,我正在计算相同的百分比,即(34-2)/ 34,即94.11%,当我告诉这个数字时,会议的人们并不感到惊讶。我想知道这是不是我传达的错误号码。

您如何衡量改善情况并同时保持良好状态?

4 个答案:

答案 0 :(得分:12)

速度(或吞吐量)与倒数的时间成正比。所以它实际上是34/2 = 17x更快的因素(如果你想听起来令人印象深刻,你可以表示(34-2)/2 = 1600%速度提升。

答案 1 :(得分:1)

我想我会说“我把速度提高了16倍以上”或“我把它提高了一个数量级(当然是16级)。”如果你想在同一时间看起来很好,你可能需要去买新衣服。 (当然,我已经和市场营销人员呆了很长时间了 - 所以我使用“比”更好的短语,因为它听起来像是天空的极限。)

答案 2 :(得分:1)

首先,你必须非常小心你的短语。要说某事的速度提高两倍就像说它提高100%一样,这就像说它是它的200%(无论那个参考是什么)。当你说"改进"或者"增加"那么你有一个隐含的参考原始数量+改善。

实施例: 你有3美元。你把钱增加到6美元。这是100%的改进(或100%的增加),因为你有原来的3美元+新的3美元(相当于原始金额的100%)。但你也可以说你有200%的钱,因为3美元* 200%= 3美元* 2 = 6美元。

现在,就速度而言,用旧的代数方程来考虑这个问题: 率*时间=距离。除了我们,"距离"更喜欢"工作表现"。

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

R * 1sec = 1job

R = 1job / 1sec = 1作业/秒

新   R * 0.5sec = 1job

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

因此,你的速度加倍。你可以说费率增加了100%,或者说费率增加了一倍,或者说速度提高了200%。

--------------------编辑以使用OP的数字------

原始

R * 34sec = 1job

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

R * 2sec = 1job

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

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

0.5 / 0.029 = 17

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

答案 3 :(得分:0)

如果“在十七分之一的时间内执行”或“普通”需要两秒钟而不是之前的三十四分钟?“