Lua 函数中将参数重新定义为局部变量是否对性能有影响?

我正在进行代码审查,发现代码作者想要更改传递的参数,并且不仅直接更改参数变量,还将其重新定义为 local,例如:

function doThing(x)
    local x = {1, 2, 3, 4}
    return x
end

我知道在这里使用 local 是不必要的,因为参数已经在函数中定义为局部变量,但我不确定这样做是否会对性能产生影响(例如,如果 x 是一个大表,并在重新定义变量时保留为隐藏状态)。

上面的示例和以下不使用 local 的写法之间是否有性能差异?

function doThing(x)
    x = {1, 2, 3, 4}
    return x
end
点赞