www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Fastest way to append char to string?

reply "Chopin" <robert.bue gmail.com> writes:
Is this the fastest way to append a char to string?

char c = 'a';
string s;
s ~= c;

?

I have a program that does this many many times... and it's slow. 
So I was wondering it it could be it.

Thanks for tips!
Dec 11 2012
next sibling parent "monarch_dodra" <monarchdodra gmail.com> writes:
On Tuesday, 11 December 2012 at 15:52:31 UTC, Chopin wrote:
 Is this the fastest way to append a char to string?

 char c = 'a';
 string s;
 s ~= c;

 ?

 I have a program that does this many many times... and it's 
 slow. So I was wondering it it could be it.

 Thanks for tips!
This may or may not be the fastest way. This should give you a good idea of what's going on: http://dlang.org/d-array-article.html
Dec 11 2012
prev sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Chopin:

 Is this the fastest way to append a char to string?

 char c = 'a';
 string s;
 s ~= c;

 ?

 I have a program that does this many many times... and it's 
 slow. So I was wondering it it could be it.
Try the appender from std.array. It's supposed to be faster, but sometimes it's not faster. There was a patch to make it actually faster, but I don't know if it was already merged. But if your program is "slow", then first of all profile it with -profile. Then define what you mean by "slow". Bye, bearophile
Dec 11 2012