09-Nov-2013 16:23, bearophile пишет:
Joseph Rushton Wakeling:
How does the speed of that code change if instead of the Random
struct, you use std.random.Xorshift32 ... ?
That change of yours was well studied in the first blog post (the serial
one) and the performance loss of using Xorshift32 was significant, even
with LDC2. I don't know why.
Lack of inlining most likely.
https://d.puremagic.com/issues/show_bug.cgi?id=10985
Since Xorshift32 is fully specified there is nothing to instantiate in
the calling code, hence it may just be linked from Phobos.
Anyhow studying the disassembly of the binary will get the answer.
--
Dmitry Olshansky