小编Gáb*_*odi的帖子

当对不同对象中的函数使用相同的键时,在V8中调用慢函数

也许不是因为调用很慢,而是查找; 我不确定,但这是一个例子:

var foo = {};
foo.fn = function() {};

var bar = {};
bar.fn = function() {};

console.time('t');

for (var i = 0; i < 100000000; i++) {
    foo.fn();
}

console.timeEnd('t');
Run Code Online (Sandbox Code Playgroud)

在win8.1上测试过

  • firefox 35.01:~240ms
  • 铬40.0.2214.93(V8 3.30.33.15):~760ms
  • msie 11:34
  • nodejs 0.10.21(V8 3.14.5.9):~100ms
  • iojs 1.0.4(V8 4.1.0.12):~760ms

现在这里是有趣的部分,如果我bar.fn改为bar.somethingelse:

  • 铬40.0.2214.93(V8 3.30.33.15):~100ms
  • nodejs 0.10.21(V8 3.14.5.9):~100ms
  • iojs 1.0.4(V8 4.1.0.12):~100ms

最近v8出了什么问题?是什么导致这个?

javascript performance google-chrome v8 node.js

50
推荐指数
2
解决办法
1908
查看次数

标签 统计

google-chrome ×1

javascript ×1

node.js ×1

performance ×1

v8 ×1