我有一个项目,我正在为我的公司工作,现在我需要决定我应该使用哪个JS引擎。目前,我的选择是蜘蛛猴或犀牛。
我主要关心的是性能和可伸缩性,我想知道是否进行了性能测试来比较这两个引擎?
我发现搜索这个问题比我想象的更难。
提前谢谢你的帮助,本。
发布于 2012-01-30 21:15:07
我定期运行V8和Sunspider的基准测试对犀牛和蜘蛛侠(免责声明:我是Rhino项目的提交者)。目前的Rhino发行版(1.7R3)仍然比蜘蛛侠慢一些,但是最近的git快照已经赶上了不错的速度。(请注意,我指的是没有Jaeger猴子或其他JITs的蜘蛛侠--Jaeger猴子要快得多。)
在V8-基准-v5犀牛1.7R3得分约360在我的机器,犀牛git主人480,Rhino git rhino_1_8分支570,和最近的蜘蛛猴的建立约540 (更高的是更好)。
对于SunSpider0.9.1,Rhino 1.7R3的数字为8890 ms,Rhino master为2250 ms,rhino_1_8分支为2180 ms,蜘蛛侠为1390 ms (这是毫秒,所以越低越好)。
所有Rhino基准测试都在Oracle JDK 1.7.0上,服务器VM和默认设置以及几轮热身之后。使用最近的Rhino快照,您可以使用ant benchmark-* targets轻松地自己运行基准。我的蜘蛛猴的构建是几个月前的快照与标准说明。
发布于 2012-01-30 15:23:21
我不知道有什么基准比较这两种情况,但根据我的经验,SpiderMonkey速度更快。如果性能是唯一的考虑因素,我会同意这一点,因为V8不是一种选择。
不过,我使用Rhino (实际上是RingoJS,它基于Rhino,包括一个CommonJS实现和许多有用的库),因为它足够快,并且(在我的经验中)有一组更成熟的库/框架可用。它还可以直接与Java库接口,因此有大量可用的代码。
您还提到了可伸缩性,而且Rhino实际上可能有优势,因为它对多线程有很好的支持。Ringo实现了一个稍微增强的worker。
我不知道有任何用于SpiderMonkey的多线程库,但它们可能存在。
https://stackoverflow.com/questions/9060841
复制相似问题