I assume they meant to say "1.5-2x slower".
I assume they meant to say "1.5-2x slower".
When we say "faster" or "slower" what we usually mean is that we add/remove the percentage to the original amount, which is often cause of misunderstanding.
"Y is 10% faster than X" means that Y goes at 110% the speed of X
"Y is 10% slower than X" means that Y goes at 90% the speed of X
In particular, "Y is N% slower than X" doesn't mean that "X is %N faster than Y" ! (110% of 90% is not 100%)
For example "Y is 100% slower than X" doesn't mean that "X is double as fast as Y", but that Y is not moving at all.
and "Y is 200% slower than X" means... that Y goes in the other direction ? (Maybe back in time, in this case ?)
38.157% of informally provided statistics are made up on the spot under the assumption nobody will actually check.
And explain to me why it isn't you?
I’ve been doing capacity planning lately and the whole deal with how we are bad at fractions came up again. If you have to spool up 10% more servers and then cut costs by 10%, you’re still slightly ahead. If you cut 10% and then later another 10% you have cut 19% of the original, not 20%.
I don't like how it was worded by the author. But all you've done is essentially invert the wording while making the math MORE difficult in the process.
50% to 200% is 0.5x slower to 2x slower.
People seem to be confusing “% slower/more time” vs “% of current time”
I think something like “0.5x slower” is just conventionally not used, even if it’s understandable. It’s a difference in common usage between percentages and x-factors. One reason might be that x-factor implies multiplication, not addition; that’s what the “x” stands for. X-factors are typically used to say something like the ‘the new run time was 1.7x the old one’. Whether it was slower or faster is implied by whether the x-factor is below or above 1.0. Because x-factors are commonly used as multipliers, and not commonly used to say “1.5x more than” (which actually means 2.5x), it’s pretty easy for people to misunderstand when someone says “0.5x slower” because it looks like an x-factor.
Now, the same argument could apply to percentages. A percentage is also a factor. But in actual usage, “50% more” is common and “0.5x more” is not; and “100x faster” is common (usually to mean 100x not 101x) while “10000% faster” is not common at all. So language is inconsistent. ;)
All that said, using an x-factor as a pure factor, and not a multiply-add, is less confusing and more clear. Saying “The new runtime is 1.5 times the old one” leaves no room for error, where “The new runtime is 90% slower than the old one” is actually pretty easy to miscalculate, easy to mistake, and easy to misinterpret. The percentage-add is also asymmetric: 90% slower means 0.1x, while 90% faster means 1.9x. Stating a metric as percentage-add makes sense for small percentages, and makes more sense for add than subtract once the numbers are double-digit and larger.
I think they are correct but it is easy enough to misinterpret that it is not a good way to phrase things.
Is it as fast as the original or does it take twice as long?
People should just use duration instead of speed as you did at the end: "takes twice as long", "takes 1/3 of the time..."
I have played a fair number of incremental games and this quickly became a pet peeve of mine. So many will say things like "2x more" and it will actually be "2x as much". Fortunately, I don't recall any which actually switch between the meanings but it's so commonly a guessing game until I figure it out.
I'm the author.
I have never questioned the clarity of that sentence, at least until today :-)
By "0.5x" I mean "0.5 times or 0.5 multiplied by the reference time" where "reference time" is the inference time of OnnxRuntime. So I'm actually meaning "50%".
I think the expression "0.5x slower", taken by itself, could be misleading, but in the context of the original sentence it becomes clearer ("while being only 0.5-2x slower", the "only" is important here!!!).
But I think the general context of that sentence defines its meaning. I am referring to the fact that under no circumstances could my project, with its premises, be in any scenario even a single millisecond faster than OnnxRuntime. Then in the second paragraph of the README the goal of the project is stated, which is precisely to trade off inference time for RAM usage! Obviously combined with the fact that the performance data is clearly reported and that I repeat several times that the generation of a single image takes hours or even dozens of hours.
However, given the possible misunderstanding, I will correct the sentence in the next few days.
Do you mean it increases the runtime by 50%-200%?
In terms of throughput it is a decrease by 0.33-0.67x to 0.67-0.33x. That this are the same numbers in reverse order is of course just a coincidence, would the runtime have increased by only 0.2-0.5x to 1.2-1.5x, then the throughput would have decreased by 0.17-0.33x to 0.83-0.67x.