On Fri, 21 Jun 2013 06:14:38 -0400, Jonathan M Davis <jmdavisp...@gmx.com> wrote:

On Friday, June 21, 2013 12:09:09 Gary Willoughby wrote:
Have you any tips for using D when you need fast string
concatenation? I regularly use code like this:

     foreach (i, range)
     {
         foo ~= bar;
     }

or:

     foo = foo ~ bar ~ baz ~ qux;

I've used std.string.format(...) in some instances which sped
things up which surprised me.

Are there faster ways of appending strings?

In general, ~= will be faster, beacause it won't create temporaries like
concatenating a bunch of strings in a single expression would.

I believe the above is one call to the runtime.

To answer the OP, using reserve will speed up the allocation quite a bit. Appender is certainly the fastest method.

-Steve

Reply via email to