Speed of Random Numbers

lithium iodate whatdoiknow at doesntexist.net
Sat Aug 3 17:44:44 UTC 2019


On Saturday, 3 August 2019 at 16:35:34 UTC, Giovanni Di Maria 
wrote:
> Do you know other faster functions or methods to generate 
> random numbers?
>
> For me the "goodness of random" is NOT important.
>
> Thank you very much
> GIovanni Di Maria

First off you could try to use a faster RNG engine than the 
default. The easiest way is to define a variable containing it 
and passing it to the functions each time.

auto rng = Xorshift(1234);
randomNumber = uniform!uint(rng);

This basic change approximately halved the 5 seconds your 
original example needs on my computer.
Another simple approach that I have tried is simply hashing the 
iterator using a fast hash function.
With xxHash32 I got the time down to 0.25 seconds. I also tried 
xxHash64 and FNV1a but they were not faster in my quick test.


More information about the Digitalmars-d-learn mailing list