I don't understand the difference between faster by factor versus faster by percent. For example,

Machine A Execution Time: 5.106 ms
Machine B Execution Time: 0.851 ms

Obviously, machine B is faster 4.255 ms. Now, I want to display how much faster B is than A by what factor as well as what percent. As far as I'm concerned:

Machine B is 600% faster than machine A. (5.106 ms / 0.851 ms)

By what factor is B faster than A? I don't see how it's different than percent.

  • 1
    $\begingroup$ if it is 600% faster, then it is 6 times faster. 6 is the factor. $\endgroup$ – Paddling Ghost Apr 9 '15 at 18:35

Actually, if you want to use the phrase, "Faster than..." the value should be calculated as $$\frac{\text{difference between values}}{\text{value being compared to}}$$ not $$\frac{\text{value in question}}{\text{value being compared to}}$$

For example, 2 is 100% more than 1. Not 200% more.

I would say that to find the factor B is faster than A, it would be your initial calculation. 600%.

Also note that the phrases "percent faster than" or "...times smaller than" can be problematic and not as straightforward as "...times bigger". Just from an English semantics point of view. But it's generally understood what you mean.

Editing to add @pjs36 comment. When using "by a factor of", you more often see it as a number, not a percentage.

Final Edit: I would say these things.

  • B is 500% faster than A
  • B's speed is 600% of A's
  • B's speed is 6 times as fast as A's
  • B's speed is greater than A's by a factor of five(awkward IMO)
  • 2
    $\begingroup$ I agree with the use of "Faster than...", but I typically convert percentages to their decimal equivalent (i.e., $600\% \mapsto 6 )$ when using the "by a factor of..." terminology. $\endgroup$ – pjs36 Apr 9 '15 at 18:34
  • 1
    $\begingroup$ I agree. Thanks. I should note that in my answer. $\endgroup$ – turkeyhundt Apr 9 '15 at 18:36
  • $\begingroup$ Thank you for your answer, I understand now. Now let's say B takes 6,400 ms to run. If I made the machine 50% faster, would that make it run in 3,200 ms or 4,266.66 ms? (6400 * 0.5 or 6400 / 1.5) $\endgroup$ – RandomDuck.NET Apr 9 '15 at 19:06
  • 1
    $\begingroup$ That's the trickiness of "% faster". If you're going 60mph, common sense says that 50% faster means 90mph. So if your trip was 180 miles, your time went from 3 hours to 2 hours. Meaning it got multiplied by $\frac{2}{3}$. So in your case, I believe you would say 4266.67ms. To get the time to 3200, you would have to say, "double the speed", or, "make it 100% faster". $\endgroup$ – turkeyhundt Apr 9 '15 at 19:57
  • 1
    $\begingroup$ I would say 5. It takes 6 times as long. But 5 times longer. The word "longer" suggests you are quantifying the difference between the two. $\endgroup$ – turkeyhundt Mar 17 '17 at 21:07

This could almost be an English question as much as mathematics. I pondered the idea (initiated by conversation about an answer I'm posting on Stack Overflow, comparing run-times for two similar coding methods), and the more I looked into it, the more confused I became - between questions on various Stack sites, Wikipedia, online "faster than" calculators, and other forums like Quora. There are many a few different answers depending on who you ask, and the context.

The basis of the calculation comes down to one rule:

Something can't be more than 100% faster than something else.

The way I figure it, the calculation for FasterThan % is:

$$\frac{({\color{Red} S}lower-{\color{Green} F}aster)}{{\color{Red} S}lower}=\%Faster Than$$

Alternatively, the calculation for SlowerThan % is:

$$\left |\frac{({\color{Green} F}aster)-{\color{Red} S}lower}{{\color{Green} F}aster} \right |=\%Slower Than$$

Example Result Pairs:

   A (Slower)      B (Faster)                                                               
 --------------- --------------- -------------------------- ------------------------------- 
  100 seconds     90 seconds      B is 10% faster than A     A is 11.1% slower than B       
  2 seconds       1 second        B is 50% faster than A     A is 100% slower than B        
  1.348 seconds   0.605 seconds   B is 55.1% faster than A   A is 122.6% slower than B      
  5.106 seconds   0.851 seconds   B is 83.3% faster than A   A is 500% slower than B        
  1               0               B is 100% faster than A    A is infinitely slower than B  
  € 100.00        € 90.00         B costs 10% less than A    A costs 11.1% more than B      

Your original answer is correct, even if by accident. "Faster" implies relative speed or velocity ("wow, that car is fast!"). So first, you would express both values in terms of a speed or velocity. Instead of number of seconds (a duration), convert to "executions per second", which more accurately describes your situation (you described that the duration corresponded to an execution).

vA = 1 execution / 5.106 ms = 1 / 0.005106 = 195.848 executions/second vB = 1 execution / 0.851 ms = 1 / 0.000851 = 1175.088 executions/second

So Machine B is (vB/vA = 6.0) times faster than Machine A.

Of course, to calculate vB/vA you get (1/tB)/(1/tA) and you can cancel everything out to get tA/tB to arrive at the same result.

This would still work even you described it in terms of executions per millisecond, since the units will cancel out.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.