Bill Baxter wrote:
and note the call to gc_malloc().

Bummer.

I agree the compiler could do better there. There is a lot of opportunity for better optimization. I haven't spent time on it because of all the other things that need doing first.


Does a static-sized array initializer also allocate?

int[4] v = [1,2,3,4];
foreach(x; v) {
    /// ...
}

Or maybe this (also) works without allocation?

foreach(x; Tuple!(1,2,3,4))
{
   ///
}

This kinda code is useful for the case where you have to do the same
thing to two or three local variables.  You can write a local function
to do it, but foreach on a static set of them breaks up the visual
flow of the code a little less, I think.


--bb

Reply via email to