缓慢的财产访问

时间:2014-06-05 04:53:40

标签: javascript performance v8 spidermonkey

我最近一直在使用线性解析器,并注意到谷歌Chrome(v37)的性能比Firefox(v30)慢得多。然后我怀疑问题与我迭代字符串的方式有关。

在jsPerf中玩了一下,发现了这个:

var obj = { str: 'hello' };

for (var i = 0, len = obj.str.length, str = ''; i < len; i++) {
    str += obj.str[i];
}

比这慢约85%:<​​/ p>

var obj = new function () {
    this.str = 'hello';
};

for (var i = 0, len = obj.str.length, str = ''; i < len; i++) {
    str += obj.str[i];
}
Chrome中的

(第8版)。

在Firefox(SpiderMonkey)和Safari(SFX / Nitro)中,它们之间的性能差异可以忽略不计(小于2%)。

我的问题是:为什么“原生对象”仅在Chrome中速度较慢以及为什么会这样?

0 个答案:

没有答案