Threadpools, difference between DMD and LDC

David Nadlinger via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 4 02:32:07 PDT 2014


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


More information about the Digitalmars-d-learn mailing list