优化JavaScript中的堆栈内存读/写?

时间:2018-08-17 23:13:57

标签: javascript optimization stack compiler-optimization micro-optimization

比方说,我们有一个带有循环的以下函数,该循环在每次循环中写入一些内存变量。

function myFunction() {
  for (var i = 0; i < 10000; i++) {
    let myStackVariable = i;
    // do something with myStackVariable
  }
}

但是,假设我们重新编写此循环以仅在循环外部声明一次变量,然后在循环期间重新分配它。

function myFunction() {
  let myStackVariable;
  for (var i = 0; i < 10000; i++) {
    myStackVariable = i;
    // do something with myStackVariable
  }
}

我很确定在任何体面的C中,编译器都只会优化堆栈中的单个变量并始终使用该内存位置。

JavaScript可能会这样做吗?进行后者是否有任何有益的表现?是否值得以一种方式而不是另一种方式来编写。我知道,我知道-过早的优化是万恶之源-但我比什么都更好奇。

我尝试使用n = 100000000运行测试,结果是相同的,但是我不确定我的示例是否太简单了,因为没有递归等。

0 个答案:

没有答案