假设您有:
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