Most performant way of converting int to string

Andrew Chapman via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Dec 22 09:23:11 PST 2015


On Tuesday, 22 December 2015 at 17:18:16 UTC, cym13 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!
>
> Out of curiosity a slow down compared to what? No conversion at 
> all?

Yeah, if I include a simple conversion in my loop:

         for({int i; i = 0;} i < num; i++) {
                 //string s = to!string(i);
                 Customer c = Customer(i, "Customer", "99998888", 
i * 2);
                 string result = objS.serialize(c);
         }

If I uncomment the "string s" line I'm seeing a 20% increase in 
running time, which given what's going on the rest of the code is 
quite surprising.  I've tried compiling with both dmd and ldc2 - 
it's the same under both.

Cheers.


More information about the Digitalmars-d-learn mailing list