Most performant way of converting int to string

Ivan Kazmenko via Digitalmars-d-learn digitalmars-d-learn at
Tue Dec 22 10:39:16 PST 2015

On Tuesday, 22 December 2015 at 18:11:24 UTC, rumbu wrote:
> On Tuesday, 22 December 2015 at 17:15:27 UTC, Andrew Chapman 
> wrote:
>> Sorry if this is a silly question but is the to! method from 
>> the conv library the most efficient way of converting an 
>> integer value to a string?
>> e.g.
>> string s = to!string(100);
>> I'm seeing a pretty dramatic slow down in my code when I use a 
>> conversion like this (when looped over 10 million iterations 
>> for benchmarking).
>> Cheers!
> Converting numbers to string involves the most expensive known 
> two operations : division and modulus by 10.

When the base is known in advance, division and modulus can be 
substituted by a few additions, subtractions and bit shifts.  For 
example, the Hacker's Delight book has a chapter dedicated to 
that, as well as a freely available additional chapter 

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 

More information about the Digitalmars-d-learn mailing list