You're right, but as another poster noted "2x smaller" generally means 1/2 the original size. That usage, to me, is a horrible misuse of English, and is a pet peeve.
You also see it with slower; "the unoptimized code is 2x slower". Huh? Do you mean "takes 2x the time"?
It makes perfect sense to me. I interpret "x" as shorthand/lazyhand notation of the Angloamerican multiplication symbol "×", which I verbally expand to the word "times". Furthermore, calling something "two times smaller" is equivalent to calling it "half the size", since "smallness" is simply the logical and mathematical inverse of "bigness", or "size". The same argument holds for unoptimized code being two times slower, or half as fast. (Slowness is the inverse of speed.)
> calling something "two times smaller" is equivalent to calling it "half the size"
This is the (IMO circular) assertion that is made by fiat. If you believe this, then you believe it.
I get the meaning, it just isn't logical to me. To use the 'x' or '*' as multiplication should mean that many repetitions of something, not the reciprocal of that number.
You also see it with slower; "the unoptimized code is 2x slower". Huh? Do you mean "takes 2x the time"?
I cringe every time.