廉价而令人愉快的 rand() 替代品

标签 c random

在分析一个大型游戏程序后,我发现库函数 rand() 消耗了总处理时间的相当一部分。我对随机数生成器的要求不是很繁重 - 它通过大量纯随机性统计测试并不重要。我只想要一些便宜又开朗的东西,而且速度很快。有什么建议吗?

最佳答案

很少有比 LCG 更快的常用算法(这很可能是 rand() 正在使用的)。您可能想试试 Marsaglia 的 Xorshift速度非常快的生成器(取决于硬件)。 WELL512a发电机也相当快(比 MT19937 或 MT19937-64 快)。

关于廉价而令人愉快的 rand() 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3052312/

相关文章:

java - 获取一个重复操作的按钮

c - 使用 C 编程使用 POPEN 将值存储到字符串中

C 编程 - Strdup 未正确捕获文件名并将其存储在数组中

Java 的随机数生成器。生成数字的复杂性

r - 使用 stringi 在 R 中生成唯一的随机字符串

php - 从4张 table 中随机挑选

c - C语言中的sizeof枚举

c - 左值需要作为一元 ‘&’ 操作数——将函数结果作为指针传递

c++ - 从结构中调用函数

java - 生成一个结果没有点的除法,除数和被除数是从一系列数字中随机生成的