在大型 lua 表中使用冒号与点进行函数声明的性能影响

问题描述

我养成了用冒号而不是点来声明几乎所有模块函数的习惯,但我不使用太多 OOP,几乎从不使用“self”。 每次调用函数时将 self 作为参数传递似乎是多余的,尤其是在表非常大的情况下。

这对性能有什么影响吗?是否值得将我所有的函数声明更改为使用点?

解决方法

将单个附加表引用传递给函数不会对性能产生太大影响。这与表格大小无关,因为表格不会被复制。

这似乎不是性能问题,而是编程风格的问题。对模块函数使用冒号语法是非常不常见的,因为这个习惯用法显然是用于实际的方法调用。因此,一个在不必要的地方使用它的库对于任何其他 Lua 程序员来说看起来都会非常混乱。