不容忽视:MongoDB的JavaScript性能

测试Mongodb + V8 JavaScript引擎

我知道Mongodb的JavaScript引擎是SpiderMonkey, 于是想尝试再编译一个v8版本的Mongodb, 准备用如下JavaScript文件测试一下.

准备测试代码:

 

这个JavaScript脚本能同时跑在4种环境下:

Chrome / Firefox等浏览器环境

node js的shell

SpiderMonkey 的js shell

mongo 的js shell

我准备编译完Mongodb的v8版本后, 四个环境都比较测试一下.

编译mongodb + v8

我在OpenSUSE11.4下, 用linux的包管理工具准备编译环境, 还是很容易的:

#已安装的包: g++ subversion git Python

 

执行测试

执行~/opt/mongov8/mongo localhost:20237 dotest.js

mongo+v8 : 93毫秒

nodejs : 68毫秒

SpiderMonkey : 442毫秒

初步结论:

mongodb + v8性能非常好, 接近node.js里面的执行性能。

SpiderMonkey 1.9 比v8慢5倍。

mongodb使用SpiderMonkey肯有一些环节还存在问题, 导致mongodb+SpiderMonkey比mongodb+v8慢60多倍。

也许是mongodb的SpiderMonkey版本低? 我目前还不知道mongodb的发行版内, SpiderMonkey的确切版本.

我上面测试SpiderMonkey 的js命令是来自xulrunner-192。

测试代码很短, 比较片面, 上面的性能倍数只是大体估计, 不是全面精确的评估。

相关推荐