On Friday, 4 March 2016 at 16:45:42 UTC, Andrei Alexandrescu wrote:
Currently we have a very useful stride() function that allows spanning a random access range with a specified step, e.g. 0, 3, 6, 9, ... for step 3.

I've run some measurements recently and it turns out a compile-time-known stride is a lot faster than a variable. So I was thinking to improve Stride(R) to take an additional parameter: Stride(R, size_t step = 0). If step is 0, then use a runtime-valued stride as until now. If nonzero, Stride should use that compile-time step.

Takers?


Andrei

Surely after inlining (I mean real inlining, not dmd) it makes no difference, a constant is a constant?

I remember doing tests of things like that and finding that not only did it not make a difference to performance, ldc produced near-identical asm either way.

Reply via email to