Most performant way of converting int to string
Ivan Kazmenko via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Dec 24 10:01:44 PST 2015
On Tuesday, 22 December 2015 at 19:50:28 UTC, Daniel Kozák wrote:
> V Tue, 22 Dec 2015 18:39:16 +0000
> Ivan Kazmenko via Digitalmars-d-learn
> <digitalmars-d-learn at puremagic.com> napsáno:
>> Does DMD, or Phobos function to!(string), do anything like
>> that? The number of possible bases is not large anyway. I've
>> heard major C/C++ compilers do that, but have not looked for a
>> proof myself.
>
> Yes, IIRC, all D compilers should be able to change modulus and
> division to few additions, subtractions and bit shifts if base
> is known at compile time.
>
> And phobos use this:
> https://github.com/D-Programming-Language/phobos/pull/1452
So, in a few common cases (bases 10 and 2, 4, 8, 16), you convert
a runtime argument into a compile-time argument for the
implementation function, and there, division is optimized at
compile time. Nice!
More information about the Digitalmars-d-learn
mailing list