哪个是最快的JavaScript引擎,它真的重要吗?

时间:2009-09-21 12:09:11

标签: javascript performance

哪个是最快的JavaScript引擎?这真的很重要吗?

12 个答案:

答案 0 :(得分:9)

对于生产,您通常不需要关心哪个JavaScript引擎最快。您的页面应该适用于所有常见浏览器。

但是,在某些项目中,您可以自由选择支持哪些浏览器(例如业余爱好项目或内部使用的项目),您会发现不同浏览器的性能差异很大。

我发现保持最佳效果的两个浏览器是Mozilla Firefox,其Spider Monkey engineGoogle Chrome及其V8 engineApple Safari也是最快的浏览器之一,其Nitro引擎是4.0中的新功能。他们使用新方法“编译”脚本,使它们比以前更快,更快地执行。在未来,越来越多的浏览器将转向这项技术,因为JavaScript正在成为网络上交互式用户内容的主要技术之一。 (我在这里没有提到Opera 10因为我没有亲自对它进行过广泛的测试,但我也听说它在运行JavaScript方面也更快。)

答案 1 :(得分:2)

重要吗?这可能没关系 - 但你是唯一能够为你的应用回答这个问题的人。

根据我的经验,几乎每个浏览器都足够快,除了IE6之外,当然一般来说一般都很糟糕。

如果你看actual benchmarks(那里有很多),似乎Chrome,FF 3.x和Safari即使在Javascript性能方面也差不多,IE8落后了一点,IE7相当不错稍微落后一点(虽然,IMO,IE7对于大多数事情仍然足够快)。

答案 2 :(得分:2)

回复:“这有关系吗?”

随着JS在浏览器之外使用,Javascript引擎的性能将变得越来越重要。现在有许多脚本和程序,测试框架,甚至服务器端Web应用程序框架等,都在浏览器的外部中运行。

其中许多目前都在Mozilla的Rhino引擎中运行,但我预计在V8中运行的数量越来越多,因为性能和对各种功能的支持(以及运行没有像Rhino这样的JVM所需的脚本的能力)成为一个问题。

答案 3 :(得分:1)

两个套房有一个非常好的基准,V8 Benchmark Suite v4  和SunSpider JavaScript Benchmark可用作比较:

http://www.tmsnetwork.org/blog/comparison-web-browsers-javascript-benchmark-scores

此外,杰夫阿特伍德在他的博客上写了关于2007年的Javascript性能,其中大部分现在仍然有效:

http://www.codinghorror.com/blog/archives/001023.html

答案 4 :(得分:1)

JavaScript引擎的速度取决于几个因素,包括代码本身。有些代码可以针对特定的浏览器进行优化,尽管开发人员不应该做这样的事情。

重要吗?确实如此!随着当前的Web 2.0开发,我们在JavaScript中执行各种Ajax操作,速度突然变得很重要。即使这个网站也使用JavaScript,即使只是通知我在输入此消息时发布了另一个答案。

大多数浏览器都有自己的引擎,并且彼此竞争非常激烈以获得最佳性能。最快的一个?由于大多数比较对支持比较的公司有利,因此不确定。

但是,当代码编写错误时,快速引擎是无用的......

答案 5 :(得分:1)

这真的取决于你的项目。如果你只使用最小的javascript用于事件处理程序和一些ajax / dom操作,那么无论如何你都可能会很好。但是如果你使用GWT或其他一些javascript繁重的框架,它可能会很重要。

Web应用程序的方向是在服务器上做得更少,在浏览器中做得更多。我目前正在编写的软件在客户端执行所有html生成以及许多其他操作。快速和慢速浏览器之间存在非常明显的差异。较慢的浏览器仍然以可接受的速度运行,但chrome,safari和ff3.5非常快速且响应迅速。目前,我会说Chrome和Safari似乎是我们应用程序中浏览速度最快的浏览器,但在某些时候它的性能远远超过了纯粹的js速度。 DOM操作的速度也起着非常大的作用。

答案 6 :(得分:1)

请记住,并非所有Javascript都在浏览器中运行。

例如,如果您正在运行CouchDB,则视图将作为Javascript函数实现。

Apache Sling允许在Javascript中使用服务器端脚本。

我知道使用Javascript编写模型步骤的BPM工具。

维基百科列出了更多server side java applications

在这些环境中,Javascript引擎在您的控制之下,而不是您用户浏览器中的内容,那么您肯定对性能感兴趣。

另一方面,其中许多都与特定的Javascript实现紧密耦合。看起来好像你不能轻易(例如)在CouchDB中换掉SpiderMonkey for V8。

答案 7 :(得分:1)

好吧不得不在这个主题上插话,即使它已经老了。

是的,当然重要的是你的Javascript引擎有多快,也就是说你用webGL制作javascript游戏或3D动画。

不,你不必支持最慢的浏览器来制作一款成功的游戏。所有需要做的就是将潜在用户直接指向您认为在您的网站上使用的好浏览器。

除了键控转换程序的任何操纵杆外,如果需要游戏手柄,您可能会认为这对于玩游戏很有用。

在我的意见中,有时需要将用户拉到比糟糕的Internet Explorer更好的东西,现在甚至IE9及以上版本都支持大多数HTML5标签。虽然9非常有限。

所以启动你的引擎,编程好像你有目的,不要让任何人告诉你速度无关紧要。在游戏开发游戏中,重要的是重要!

哦,到目前为止,我发现CraftyJS和ThreeJS是两个最好的javascript引擎,而Construct 2和Monkey X程序允许你使用Monkey X轻松创建HTML5游戏,允许完全编码并可以编译到其他平台你买单。但是Monkey X可以免费使用HTML5目标和窗口。

对于HTML5的好文本编辑器,Javascript,CSS3需要,突出显示,代码折叠和许多功能得到RJ TextED,它甚至是免费的!

答案 8 :(得分:0)

Google's V8 engine是最快的。如果您正在开发需要解释Javascript的东西,那么它应该对您有用。

请参阅this answer on StackOverflow了解基准。

答案 9 :(得分:0)

作为网络开发者,这对我很重要;我依赖的许多工具都使用javascript,就像后端开发人员花费大量时间等待编译一样,前端开发人员最终可能会等待页面刷新。快速的javascript引擎有助于加快速度,特别是当页面很复杂时。

显然,如果您的应用程序依赖于javascript来为您的最终用户提供快速,那么您必须在所有平台上测试它并确保您符合合理的性能目标 - 但是快速的JavaScript浏览器(例如,chrome,opera,firefox 3.5) ,在重大发展过程中,让生活变得更加愉快。

答案 10 :(得分:0)

重要的是用户使用的最慢(即IE)。如果您可以将用户群限制为仅覆盖某些浏览器,则可以相应地提高JavaScript的利用率。

答案 11 :(得分:0)

  

哪个是最快的javascript引擎?

V8

  

真的重要吗?

没有

...

好吧,这取决于。 给谁?作为最终用户,它确实很重要,我宁愿拥有最快的一切浏览器。

作为一名开发人员,除非您想要回到“更好地运行......”,否则不应该这样做。您应该将最重要的浏览器作为目标。

或许您应该考虑在问题中添加更多详细信息,因为它几乎与编程无关。