有表或对象更有效吗?

时间:2019-12-28 05:18:22

标签: performance lua lua-table

使用表而不是对象更节省内存,或更重要的是,提高速度?作为参考,这是我将要使用的那种表的示例。

[3,4,5,-1,2,正确,32]

或以对象形式:

{x1 = 3,y1 = 4,x2 = 5,y2 = -1,GID = 2,alive = true,LID = 32}

另外,拥有单类型表比拥有数字和布尔型等多种类型更有效。

1 个答案:

答案 0 :(得分:1)

卢阿(Lua)只有桌子。您可能正在谈论表的数组部分和键/值对部分之间的区别。 Lua在这两件事之间没有句法区别。

从技术上来说,访问表的数组部分比键/值对部分要快。 但是,除非您正在编写高性能代码,并且所讨论的代码位于“热循环”中,并且需要每毫秒执行数百次,否则您不必在意。编写代码,使其最明显地体现出您正在执行的操作。编写最适合理解算法的代码。

如果与some_obj.GID更加不透明的“表形式”相比,“对象形式”使用户更清楚some_obj[5]试图访问的内容,则使用后者而不是前者。除非您掌握了实际的性能指标,否则请选择易于理解的代码。