在C
++版本中的所有变量脚本源宣称(
result,
primeNumberCounter,
i,
j,
isPrime,
start,结束
time)是
全球 因为脚本的顶层作用域是全局范围。
为了优化编译器,很容易将局部变量分配到机器寄存器(或堆栈中的溢出槽)并跟踪其类型。另一方面,使用全局变量需要持续的内存访问和类型检查,因为V8当前(当前)不执行寄存器提升优化。
如果将源包装为立即调用的函数,则差异会消失。

在C
++版本中的所有变量脚本源宣称(
result,
primeNumberCounter,
i,
j,
isPrime,
start,结束
time)是
为了优化编译器,很容易将局部变量分配到机器寄存器(或堆栈中的溢出槽)并跟踪其类型。另一方面,使用全局变量需要持续的内存访问和类型检查,因为V8当前(当前)不执行寄存器提升优化。
如果将源包装为立即调用的函数,则差异会消失。