【发布时间】:2012-02-10 14:39:32
【问题描述】:
我正在编写一个脚本来标记文件内容。我用 JavaScript 编写了一个标记器,但是对于大文件(5 秒以上)它会变得很慢。因为无论如何我都是从服务器检索文件,所以我正在考虑用 PHP 重写它以减少几秒钟的时间。我读过 PHP 和 JavaScript 之间的速度差异可以忽略不计,但如果文件为 1mb 或更大,则可能会增加一点速度差异。我在网上找到了this benchmark,但我不确定信息是否是最新的(包括过去几年的所有 JS 引擎优化)。
移植我的所有代码需要一些工作,所以如果我能提供帮助,我不会使用 PHP。但如果它要快得多(25-30%),那将是值得的。
【问题讨论】:
-
要考虑的一件事是您的执行环境。如果这将发生在网站上最终用户的客户端浏览器上,您将不得不应对差异很大的执行时间,这可能会降低用户体验。如果您在服务器上执行它,您可以控制它,但显然需要考虑并发性和相关的负载。如果您的 JavaScript 要在您自己的环境中执行(例如,如果您正在编写供个人使用的脚本),那么这一点没有实际意义。
-
一般来说,大部分 JS 引擎都比 Zend 官方的 PHP 引擎快很多。陈词滥调的例子是你很难用 PHP 编写一个严肃的光线追踪器,但在 JS 中非常可行(那里有很多)。
-
对服务器端的某些东西进行标记(无论是什么语言)都可以缓存结果,从而使多个用户(甚至刷新页面时的同一用户)受益 - 以及独立于客户端的硬件/活动。
标签: php javascript performance