Magical 90%. What are we talking about when we talk about performance?
A description of the performance improvements exists at the junction of mathematics and linguistics. Very often, mathematics is used incorrectly, incorrect, misleading, or simply non-optimal terms are used.
Consider the conditional press release:
AirTrain Inc.proudly presents the new AirTrain-8000.The revolutionary new aircraft flies from London to New York at an average speed of 7700 km / h - a giant improvement compared to 770 km / h from other aircraft.This reduces the flight speed from just ten hours to just one hour, which makes AirTrain-8000 90% faster than our competitors.
Such a press release will never be published. The new aircraft is ten times faster than others (7700 km / h divided by 770 km / h) and no marketing department will allow to call it "90% faster", which sounds like "almost twice as fast." And yet, when it comes to computers - where a tenfold increase in speed happens quite often - people often make such a mistake. ')
This misuse of interest made them almost useless for describing optimizations. Need to stop using percentages. AirTrain-8000 is ten times faster, period. In the AirTrain example, the flight time was reduced by 90%. It would be reasonable to say so in a press release. It will also be accurate (although it is ambiguous before it is useless) to say that this aircraft is "90% better." But to say that a plane with a speed of 7700 km / h "is 90% faster" than an aircraft with a speed of 770 km / h is just wrong and doomed to failure.
Examples of such a rhetorical error are quite easy to find. A Google search for the phrase "90% faster" (with quotes) finds almost exclusively those articles that talk about a reduction of time by 90% or more, where the new process is in reality 900% faster. Here are some examples:
If you have optimized the task so much that the execution time has decreased by 90%, then this acceleration is ten times - that’s the way to write. It does not matter whether it is a flight from London to Seattle, a game download, or a file search. A 90% reduction in time is a tenfold acceleration, period, and all five of the above examples are wrong.
90% faster - what does that mean
Imagine that I am riding my scooter at a speed of 10 m / s and my friend at a speed of 19 m / s. The speed of 19 m / s, mathematically, is 1.9 times greater than 10 m / s. Convert it to interest:
Consequently, its speed is 90% more than me. Otherwise, it can be said that it is 90% faster.
Remark: we subtract 100%, because by default it is assumed that a change in percent always shows only the difference, therefore, in the phrase “acceleration 1.9 times” the number “1.9” is the ratio of two speeds.I did not come up with the rules, it is just a linguistic / mathematical convention.Some people disagree and think that acceleration 1.9 times should be called 190% acceleration, but this is a non-standard expression.
90% faster - which does NOT mean
If I perform some task in 100 seconds, and my friend does it in 10 seconds, then my friend spends 90% less time. And many people in this situation may say that my friend is 90% faster than me. But wait. What if we ride our scooters to work at a distance of 1000 meters. In this case, I am traveling at a speed of 10 m / s, and my friend (with a rocket pack?) - at a speed of 100 m / s.
It makes no sense to use the term "90% faster" in the meaning of "19 m / s instead of 10 m / s" and also in the meaning of "100 m / s instead of 10 m / s." The phrase cannot have two meanings at the same time, and in the second case, it is 90% wrong to speak of acceleration - in reality, my friend is 900% faster here. Some people will say that it is 1000% faster (see a little higher), which is an unfortunate option.
Reality check
Let's look at one specific example. In this article, the gamer describes the technique, thanks to which it was possible to load the game in 50 seconds instead of 510 seconds. And he calls it "Game downloads are 90% faster?"
It seems that such confusion arises whenever improvement is a reduction in the time to complete a task, so let's take a look at math.
It was: the game was loaded in 510 seconds, that is, 0.00196 games were loaded per second. Alternatively, you could download the game 7.06 times in an hour.
It became: after a certain hack, the game loads in 50 seconds, that is, 0.02 games per second, 72 times per hour.
The faster method is capable of performing just over ten times the game downloads over a period of time, regardless of the period. That is, it is 900% faster, not 90%.
The example of loading a game can be “felt” unusually, because no one is going to load the game repeatedly within an hour and be happy that it can load it 72 times, not 7.06 times. But this does not change the fact that the download of the game has accelerated more than ten times. Paratroopers in free flight fly about ten times faster than riders accelerate along the route, but we do not discard this achievement only because they can do it only for a minute or so. They fly about three kilometers per minute, which corresponds to a speed of 190 km / h, and the inability to keep that speed for an hour does not detract from their achievements.
Calculation of the ratio of speeds
If we have old and new speeds, then the speed ratio can be calculated as follows:
speed ratio = x = NewSpeed / OldSpeed
We can say that the new speed is x times more than the old one, ten times in the case of AirTrain-8000.
If we have an old and new time to complete a task, then it ’s just as easy to translate the time difference into the phrase “xx faster”:
velocity ratio = x = OldTime / NewTime
This is as simple as calculating the speed ratio, knowing the speed, although here the fraction is old / new, not new / old. This calculation works for any fixed task. This formula can be derived in this way:
speed = tasks / s = Number of Tasks / Elapsed TimeSeconds
and then substituting two speeds into the Old Time / New Time formula , where the Number ofTasks will be reduced. Simple algebra.
Recommendations
At first, I would like to recommend using the phrase “acceleration by 90%” only if something is really 1.9 times faster. But an analysis of the situation showed that this is a terrible idea - numerous cases of incorrect use of percentages are so common that it is simply impossible to expect now that they will understand you correctly, except that with small percentages, such as “20% faster”, where ambiguity is not so manifested.
Therefore, when you reduce the time to complete a task - any task - you should calculate the speed ratio as New Speed / Old Speed and call the resulting figure to describe your achievement. You should also publish specific numbers before and after, so that readers can verify your calculations.
When you hear from someone about the acceleration in the range from 90% to 99.9%, you should be careful. Until the initial and final indicators are published, you have no idea what the achievement really is. This usually means “I’m good at optimization, but I’m not good at explaining.”
One can never describe something as “90% improvement” or “90% better” - these are meaningless phrases. Instead, use a clear and accurate exponent. This is ten times better!
As proof that I myself adhere to this principle: when I reduced the rendering time of a specific video with an increase in the fractal image from six months to 18 hours, I did not call it an acceleration of 99.6%, I said “240 times faster” . I am glad that I followed my own advice proactively.