【问题标题】:Random number generation speed随机数生成速度
【发布时间】:2012-06-14 19:34:56
【问题描述】:

快速提问,有没有人做过关于 javascript 和 php 之间随机数生成的基准测试?我不是在谈论 4-5 个随机函数调用,但在大规模上,我对速度更感兴趣,而不是更好的随机数。

【问题讨论】:

  • 当您从大局中获得更好的性能时,为什么还要担心一些数学运算?!
  • 另外请记住,由于用于 Javascript 的 JIT 编译技术的进步,现在的 Javascript 比 PHP 快几个数量级,而 PHP 仍在解释。
  • @Ed Heal 我不确定你的意思
  • 最好的办法是测试 node.js 与 php。
  • 在 PHP (see here) 中生成的 100000 个随机数不到 1/10 秒 - 不知何故,我怀疑数字生成的 速度 完全无关紧要。

标签: php javascript random


【解决方案1】:

这在很大程度上取决于您的硬件和环境。例如,在 Javascript 中,不同的浏览器将以不同的速度运行。

最好的办法是在每个循环中编写一个循环并运行它以生成大量随机数并显示它花了多长时间。这样您就可以知道哪个更适合您的特定设置。

【讨论】:

  • 如果对浏览器有那么大的依赖,那我可能要在服务器端做,各种用户都会用。
【解决方案2】:

正如 Alan 所指出的,JavaScript 随机数的性能取决于客户端为聚会带来的资源。但是,还有一些事情需要考虑:
由于您正在寻找大规模生成的随机数,请务必注意浏览器可能会阻止您的 JavaScript 到达循环的末尾。一些浏览器可能会假设脚本在某处包含死锁,并要求用户停止或调试脚本。
除此之外,只有当客户端在页面上并且启用了 JavaScript 时,才会生成数字。

在 PHP 上,有两件事需要考虑(除了服务器硬件)。如果您真的打算生成大量随机数,那么对您的客户的响应也会减慢。尽管 PHP 比 JavaScript 快(到目前为止),但让您的访问者等待服务器响应的时间过长是不好的。
一个可能的解决方案可能是发送响应并通过 ajax 获取随机生成的数字。这里的缺点是:你失去了 php 的速度优势。

在您的情况下,我会保留随机生成器服务器端。如果您真的专注于速度和服务器负载(PHP 资源昂贵),也许可以研究其他语言来编写一个小 C 程序。但再次坚持标签:坚持使用 php - 毕竟,无论如何,很多都是 C...

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2012-08-22
    • 2020-05-23
    • 1970-01-01
    相关资源
    最近更新 更多