基准:
不变量:
var f = function() { };
var g = function() { return this; }
测试:
下面按预期速度排序
new f;
g.call(Object.create(Object.prototype));
new (function() { })
(function() { return this; }).call(Object.create(Object.prototype));
实际速度:
new f;
g.call(Object.create(Object.prototype));
(function() { return this; }).call(Object.create(Object.prototype));
new (function() { })
问题:
- 当您交换
f
和g
为内联匿名函数时。为什么new
(测试 4.)测试较慢?
更新:
是什么特别导致new
当f
和g
内联时变慢。
我对 ES5 规范或 JagerMonkey 或 V8 源代码的引用感兴趣。(也可以随意链接 JSC 和 Carakan 源代码。哦,如果 IE 团队愿意,他们可以泄露 Chakra 源代码)。
如果您链接任何JS引擎源,请说明。