函数声明和函数表达式性能差异

2023-12-04

我用过JSperf测试一个小样本code.

enter image description here

根据我遇到的几篇文章,两者应该具有相似的性能,其中 test2 有一点优势。但这里的情况完全相反。有人可以解释为什么会有如此巨大的差异吗?

Edit :我也明白他们两者之间的区别。请不要将此标记为重复项this或其他讨论语义差异但不回答我有关性能的问题的问题。

谢谢。


随着 JavaScript 引擎目前使用的强大优化,像这样的微基准测试会产生一些误导性的结果。例如,我猜您想要测量的是函数调用开销。但看起来就像你的代码编写方式一样,你可能每执行 10 次就(重新)定义一次函数定义和/或符号查找;我猜这不是本意。

In 这个替代测试,我进行了一些安排以避免函数的重复定义,并添加了一些调用函数的其他方法。这将性能差异减少到我认为主要由实验噪声主导的程度。虽然有时可能存在明显的差异,但鉴于实验误差水平,我不认为它们具有统计显着性。换句话说,它将比赛简化为虚拟平局。

即使在方法之间存在一致差异的浏览器中,将函数缓存在局部变量中似乎也可以最小化定义和表达式之间的差异。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数声明和函数表达式性能差异 的相关文章

随机推荐