JuliaLang/julia — pull request #8399 by rfourquet (2014-09-18 07:28:51+00:00)
Title: WIP: Make the global RNG a Julia global variable instead of a libdSFMT variable

This is a follow-up of https://groups.google.com/forum/#!topic/julia-dev/0MUE8MoyO0k, where it is found that with simplistic benchmarks a global RNG controlled by Julia is no slower (and maybe slightly faster) than the one controlled by the dSFMT library (which is currently used by `rand()` with no `rng` argument).
So this PR is to test more widely this assertion and find other possible problems.

Julia managing itself its global RNG may have advantages in a multi-threaded world (one "global" RNG per thread?). Are there any drawbacks? Note that an interface to the global RNG from libdSFMT can be kept (it just wouldn't be the default) if one really wants access to it.

This PR is built on #8380 (unmerged), and in fact adds only one small [commit](https://github.com/rfourquet/julia/commit/7126d7f21470ac3babfee2743b96d70e33b4a58c): I did the bare minimum so that everything builds and the tests pass. I certainly have missed things, please report problems.