Confusion about `Random`
Siarhei Siamashka
siarhei.siamashka at gmail.com
Sun Dec 25 14:47:49 UTC 2022
On Saturday, 24 December 2022 at 17:55:11 UTC, jwatson-CO-edu
wrote:
> On Saturday, 24 December 2022 at 16:42:36 UTC, Siarhei
> Siamashka wrote:
>>
>> Sounds like a case of https://xkcd.com/221/
>>
>> BTW, you don't need to explicitly initialize unpredictableSeed,
>>
>> Another thing is that the current implementation of
>> `std.random` in Phobos is extremely slow
>
> Even better, I automated the caching of dice rolls to be used
> later as random numbers! `;P`
Just in case if you are not joking, caching a certain amount of
dice rolls to reuse them later in a circular fashion would make a
bad quality pseudorandom number generator (a slightly upgraded
version of the xkcd joke). Don't do this. Just use `std.random`
if performance doesn't really matter and you want to avoid an
extra library dependency. But if performance does matter and you
need hundreds of millions of random numbers for Monte Carlo
simulations, fuzz testing or anything else, then consider
`mir.random`.
BTW, a few puzzles from https://adventofcode.com/2022 are
trivialized by using randomized bruteforce instead of a more
sophisticated algorithm. And having fast random numbers
generation helps.
More information about the Digitalmars-d-learn
mailing list