为什么在 Lua 中使用 `local print = print`?

在学习第三方 Lua 代码时,我发现在主脚本文件的顶部

local insert = table.insert
local match = string.match
local gsub = string.gsub

我将这些块理解为快捷方式定义,但我还发现

local assert = assert
local ipairs = ipairs
local print = print

这些最后的指令的目的是什么?

点赞
用户2858170
用户2858170

访问局部变量比全局变量更快。因此,在一些情况下,将频繁使用的变量设为局部变量,可以节省一些处理时间。但在大多数情况下,这并不必要。特别是如果全局变量并非被使用数千次。

可以参考以下内容:

为什么在lua中访问局部变量比全局变量更快?

http://lua-users.org/wiki/OptimisingUsingLocalVariables

2021-01-08 10:15:25
用户13447666
用户13447666

它能在某些工作负载中提高一点性能

原因如下: 为什么 Lua 中的局部函数更快?

2021-01-08 10:28:11