On Wednesday, 13 July 2016 at 12:37:26 UTC, Miguel L wrote:
I tried Appender, but for some reason garbage collector still
seems to be running every few iterations.
I will try to expand a little on my code because maybe there is
something i am missing:
Appender!(A[]) a;
void foo( out Appender!(A[]) bar)
{
...
bar~= lot of elements
}
for(....)
{
//a=[]; //discard array contents
a.clear();
foo(a) appends thousand of elements to a
... use a for some calculations
}
Well, I think foo's parameter should be `ref Appender!(A[]) bar`
instead of `out Appender!(A[]) bar`. Also, if you know you will
append lots of elements, doing a.reserve(s), with s being an
estimate of the number of appends you expect, might be a good
idea.