Posted on 2017-06-30
by Oleg Grenrus
packages

Pure Haskell implementation of SplitMix described in

Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast splittable pseudorandom number generators. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA '14). ACM, New York, NY, USA, 453-472. DOI: https://doi.org/10.1145/2660193.2660195

In simple benchmarks generating `Word64`

: `splitfix`

is *3-7x* faster than `tf-random`

and *15-70x* faster than `random`

. (The difference aren't as huge, when generating `Int`

)

Another difference is the fact that `splitmix`

generates 64bit integers (`Word64`

). `tf-random`

generates 32bit (`Word32`

) and `random`

ordinary integers (`Int`

). Generating 64 bit integers "natively" is nice, as we need only single step to generate `Double`

, which are useful for Monte-Carlo simulations.

`splitmix`

also performs well in dieharder tests.

Site proudly generated by Hakyll