随机数发生器的最佳选择

时间:2012-01-27 18:48:55

标签: haskell random

那里有很多随机发生器。 Some标准版本的速度有点慢。 Some声称质量和速度都很高。 Some声称质量更高。 Some声称速度更快,质量更好。 Some声称速度为quality

我知道的一个事实是Criterion基准测试库正在使用mwc-random,它可以说明问题,claims非常有前景。

由于每台发电机至少有两种品质:产生数量的稳健性和质量 - 我将选择最佳发电机的问题分为三类:

  1. 最快的
  2. 产生最随机数的那个
  3. 以适当的速率具有这两种品质的最佳组合的那种
  4. 那是哪个以及为什么?

1 个答案:

答案 0 :(得分:8)

我只能谈论mwc-random。

  1. 在Phenom II上,每个Word32快〜15ns。如果您想测量它在计算机上的速度,它会附带基准设置。还是有可能以速度换取期限。 Xorshift RNG应该更快但是具有更短的周期2 ^ 32或2 ^ 64而不是2 ^ 8222。

  2. 随机性。 mwc-random使用的算法MWC256(另一个名称:MWC8222)不具有加密安全性,但在随机性测试中表现良好。特别是mwc-random传递dieharder randomness test