Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"0.5-2x slower" must be a typo on their part right? If something is 0.5x slower, then it is 2x faster.

I assume they meant to say "1.5-2x slower".



Maybe they meant 50%-200% slower, in which case the x-factor range would really be 1.5x to 3x?


I think it still wrong, although one may understand what the other person means.

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 ?)


200% slower is 3x as long, yes.


I love making fun of people that don’t understand percentages… wait, wat?


117. 472% of grade school students are unable to readily convert between fractions and percentages.

38.157% of informally provided statistics are made up on the spot under the assumption nobody will actually check.


You have a typo - it’s actually 83.157%


9% of people consists entirely of shoulders, elbows and knees


Who is the intended butt of your joke here?

And explain to me why it isn't you?


I am pretty sure they intended the butt of the joke to be intentionally themselves


He’s being self deprecating, yes


But 50 % slower is either 1.5 or twice as long, depending on whether the 50 % refer to an increase of the runtime or a decrease of throughput. 200 % slower is only unambiguous because the throughput can not decrease by more than 100 %.


Usually that’s “half as fast”. English has always had the terrible twos. Is biweekly twice a week or every two weeks.

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%.


Communication is hard. If they said "Takes 50% to 200% more time" it would have been clearer


What? No, that's confusing enough it's almost hostile. The fact thst your math is wrong is proof enough. 50% to 200% more time is 1.5x to 3x slower.

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.


Umm what? I hear “50% more time” all the time.

50% to 200% is 0.5x slower to 2x slower.

People seem to be confusing “% slower/more time” vs “% of current time”


Yes people saying “50% more” is very common, and usually easily understood to mean 1.5x.

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.


1x slower would be 2x as slow, I think, is how people are interpreting it.

I think they are correct but it is easy enough to misinterpret that it is not a good way to phrase things.


It depends. What do you think if I say it's 1x slower?

Is it as fast as the original or does it take twice as long?


Twice as long. As fast as the original would be "0x slower" or "1x as fast".

People should just use duration instead of speed as you did at the end: "takes twice as long", "takes 1/3 of the time..."


> As fast as the original would be "0x slower" or "1x as fast".

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.


Off by one is baked into the language design.


hi,

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.


I still don't understand what you mean. 0.5 multiplied by the reference runtime is faster.

Do you mean it increases the runtime by 50%-200%?


By "0.5x slower" I mean "50% slower" :-)



This is an issue that irritates the hell out of me when I see it and I'm so glad this person wrote it out so plainly.


They don't talk about 50% cookie though. They only go up, not down in cookie.


It is actually correct, it is slower by 0.5-2x in terms of runtime resulting in a runtime of 1.5-3x. Admittedly it would probably have been less confusing to say that the runtime increased by 0.5-2x to 1.5-3x because slower is more intuitively associated with less while the runtime of course increases.

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: