我用以下简单的程序简要测试了这三个引擎(犀牛/蜘蛛猴/V8):
function p(n) {
for (var i = 2;i * i <= n;i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
var sum = 0;
for (var k = 2;k < 10000000;k++) {
if (p(k)) {
sum++;
}
}
print(sum);
并得到以下结果:
$ time rhino
我正在编写一个JS对象,它需要对字符串执行真正基本的键值缓存:函数对。这个类在客户端上运行,缓存部分编译的模板来呈现页面的一部分,所以它可能有20-200个条目。
在实际编写该类之前,我认为最好先看看最快的缓存检索方法是什么。脑海中浮现的选择是:
1.基本属性访问:
if (x[k] !== undefined) {
v = x[k];
}
2.密钥检查(自有):
if (x.hasOwnProperty(k)) {
v = x[k];
}
3.密钥检查(一般):
if (k in x) {
v = x[k];
}
我假设3将是最快的(检查该属性是否存在,但不检索它或担