【发布时间】:2020-02-12 15:07:40
【问题描述】:
有谁知道在可汗学院的编程环境中使用Math.random() 或random() 是否更好(内存方面,还是更快)?
以“随机”为例,我指的是任何数学库,真的。
谢谢!
【问题讨论】:
标签: javascript html5-canvas processing.js khan-academy
有谁知道在可汗学院的编程环境中使用Math.random() 或random() 是否更好(内存方面,还是更快)?
以“随机”为例,我指的是任何数学库,真的。
谢谢!
【问题讨论】:
标签: javascript html5-canvas processing.js khan-academy
processing.js 在内部使用Math.random() 作为其内部随机数生成器。除了取决于参数的一些额外的乘法步骤之外,它们基本上是相同的。
var internalRandomGenerator = function() { return Math.random(); };
p.random = function() {
if(arguments.length === 0) {
return internalRandomGenerator();
}
if(arguments.length === 1) {
return internalRandomGenerator() * arguments[0];
}
var aMin = arguments[0], aMax = arguments[1];
return internalRandomGenerator() * (aMax - aMin) + aMin;
};
【讨论】:
在 PC 上进行数学计算时,无论您使用哪种方式,都不会产生明显的差异。即使您正在生成数千甚至数百万个随机数,您的计算机也能够比眨眼更快地处理它。
如果速度和/或内存是一个主要问题,那么您可以尝试一些第三方库,例如this,但是请记住,如果内存(如项目大小而不是内存)是一个问题,那么最好不要添加太多额外的模块或库。
【讨论】: