我在这里比较普通JavaScript中的添加操作与执行相同操作的函数。将此操作封装在JavaScript函数中的实例比普通操作执行得更快。我在这次比较中做错了什么?
答案 0 :(得分:3)
当我运行微基准测试时,他们都执行了彼此的1%/ 2%,所以对于所有意图和目的他们执行相同的操作(即错误边缘)。
为什么它们执行大致相同的答案是JavaScript JIT已经确定函数应该是inlined,从而使其性能类似于普通操作。在某些情况下,JIT甚至可以识别出你正在将两个常量加在一起,只需用直线assignment operation instead替换代码(那里有一个关于Uglify将如何用7替换1 + 2 * 3的注释,如果JIT编译器可以识别它,它将执行相同的操作。)