Xorshift* and Erlang/OTP: searching for better PRNGs

Kenji Rikitake
Professional Internet Engineer / Erlang/OTP Enthusiast

Pseudo Random Number Generators (PRNGs) is a key component of providing randomness in Erlang. Kenji gave a talk on SFMT and TinyMT PRNGs in Erlang Factory SF Bay 2011. This talk is an update on searching, implementing and evaluating more lightweight and statistically higher quality PRNGs for Erlang/OTP; Kenji will describe the details of implementing xorshift* (pronouncing exorshift-star) and xorshift+ (pronouncing exorshift-plus) PRNG algorithms on Erlang/OTP, and the evaluation results.

Talk objectives:

- Show the characteristics and pitfalls of handling random numbers with Erlang/OTP, the limitation of current random module and how it can be circumvented, and examples of implementing a better PRNG with and without NIFs.

Target audience:

- Programmers interested in Erlang/OTP library internals, NIF programming, and the users intending to use Erlang for simulation and modeling.


Kenji Rikitake has been writing Erlang code since 2008. His recent open source work includes XORshift+/* code contribution to Erlang/OTP rand module, Erlang random number libraries of SFMT and TinyMT algorithms, and a hardware random number generator based on Arduino UNO R3. Kenji writes code since 1974. He has become an independent professional engineer since 2014, after working for various computer industry and academic/research organizations since 1990, including Digital Equipment Corporation, Kyoto University and Basho Technologies.

GitHub: jj1bdx

Back to conference page