java.util.Random.nextDouble() 对我来说很慢,我需要一些非常快的东西。
我做了一些谷歌搜索,我只找到了基于整数的快速随机生成器。这里有关于区间 <0, 1) 的实数吗?
最佳答案
如果你需要一些快速的东西并且可以访问 Java8,我可以推荐 java.utils
SplittableRandom .它更快(~两倍快)并且具有更好的统计分布。
如果您需要更快或更好的算法,我可以推荐以下专门的 XorShift 变体之一:
有关这些算法及其质量的信息可以在 this big PRNG comparison 中找到。 .
我做了一个独立的性能比较,你可以在这里找到详细的结果和代码:github.com/tobijdc/PRNG-Performance
TLDR
从不使用
java.util.Random
, 使用 java.util.SplittableRandom
.如果您需要更快或更好的 PRNG,请使用 XorShift 变体。
关于java - java中的快速实值随机生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29193371/