在Lua中访问全局表值和访问全局变量之间的性能差异是什么



假设您有:

someNumber = 30
someTable = { someSubTable = { someNumber = 30 } }

访问和修改这些变量的方式之间是否存在显著的性能差异?

someNumber = 31
someTable.someSubTable.someNumber = 31

当然,对二维表进行索引是有代价的。但通常情况下,这不是你应该考虑的。很少有这种差异会对你产生影响。过早优化被认为是一个很大的禁忌。

我运行了一个简单的基准测试,调用了一个完成1亿次赋值的函数。相对执行速度:

  • 分配给全局x:1
  • 归属于全局t.t.x:1.08
  • 分配给全局t[1][1]:1.09

最新更新