On Monday, 4 August 2014 at 05:14:22 UTC, Philippe Sigaud via
Digitalmars-d-learn wrote:
This is correct – the LLVM optimizer indeed gets rid of the
loop completely.
OK,that's clever. But I get this even when put a writeln("some
msg")
inside the task. I thought a write couldn't be optimized away
that way
and that it's a slow operation?
You need the _result_ of the computation for the writeln. LLVM's
optimizer recognizes what the loop tries to compute, though, and
replaces it with an equivalent expression for the sum of the
series, as Trass3r alluded to.
Cheers,
David