On 2009-04-27 10:51:22 -0400, Frits van Bommel <fvbom...@remwovexcapss.nl> said:

I edited this code to work with ldc (D1) + Tango, and saw the Direct and opApply cases generate identical code (inc, cmp, jne, with the loop counter in a register) [1], so they're equally fast (modulo process scheduling randomness).

Thank you for your timings. I think it shows my point: that by prefering ranges over opApply we're just optimising around a deficiency in DMD's optimizer.

I'm thinking... with proper inlining, perhaps we could take the notion of ranges out of the compiler and just define a generic opApply in std.range that use front, popFront, and empty. :-) Perhaps.

--
Michel Fortin
michel.for...@michelf.com
http://michelf.com/

Reply via email to