On Friday, 15 August 2014 at 16:48:10 UTC, monarch_dodra wrote:
On Friday, 15 August 2014 at 14:40:36 UTC, Philippe Sigaud
wrote:
Well, I created a wrapper around a
std.array.uninitializedArray call, to manage the interface I
need
Make sure you don't use that if your type has elaborate
construction, or assumes a certain initial state (unless you
are actually emplacing your objects of course).
Hmm, what's elaborate construction? They are classes and have
constructors, of course. I assumed that this produced only null's
in the array.
I thought that, having lots of concatenation in my code,
that'd be a bottleneck. But it appears than pre-allocation
does not give me any speed-up.
If you are using "raw GC arrays", then the "raw" append
operation will, outweigh the relocation cost on extension. So
pre-allocation wouldn't really help in this situation (though
the use of Appender *should*)
OK.