Fastest Way to Append Multiple Elements to an Array
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Dec 15 07:55:22 PST 2014
On 12/14/14 6:16 PM, "Nordlöw" wrote:
> What's the fastest way to append multiple elements to an array?:
Before appending, call reserve to avoid the possibility of reallocating
multiple times:
arr.reserve(arr.length + n); // about to append n elements.
> Either
>
> arr ~= e1;
> arr ~= e2;
> arr ~= e3;
>
> or
>
> arr ~= [e1,e2,e3];
I wish this would be fastest, but it's not, because this allocates an
array on the heap with elements e1, e2, e3 before appending. It would be
a superb addition to D if this would simply allocate a stack array (if
the array never escapes the expression).
-Steve
More information about the Digitalmars-d-learn
mailing list