我有一个项目,我正在为我的公司工作,现在我需要决定我应该使用哪个JS引擎.目前我的选择是Spidermonkey或Rhino.
我主要担心的是性能和可扩展性,我想知道是否进行了性能测试以比较两个引擎?
谷歌搜索这个问题比我想象的更难.
在此先感谢您的帮助,Ben.
最佳答案
我经常在Rhino和Spidermonkey上运行V8和Sunspider基准测试(免责声明:我是Rhino项目的提交者).目前的Rhino版本(1.7R3)仍然比Spidermonkey慢一点,但最近的git快照已经很好地赶上了. (请注意,我在谈论没有Jaegermonkey或其他JIT的解释Spidermonkey – Jaegermonkey更快.)
在V8-benchmarks-v5上,Rhino 1.7R3在我的机器上得分大约为360,Rhino git master 480,Rhino git rhino_1_8分支570,以及最近的Spidermonkey大约540(更高更好).
对于Sunspider 0.9.1,Rhino 1.7R3的数字为8890 ms,Rhino master为2250 ms,rhino_1_8分支为2180 ms,Spidermonkey为1390 ms(这是毫秒,因此更低更好).
所有Rhino基准测试都在Oracle JDK 1.7.0上,具有服务器VM和默认设置,并经过几轮预热.使用最新的Rhino快照,您可以使用ant benchmark- * targets轻松自行运行基准测试.我的Spidermonkey构建是使用标准指令构建的几个月的快照.