Possible table optimizations

If the keys and values of a table are constant, should I create the table in a global scope, and pass the reference in repeatedly called function, as to save the time of allocating the table and adding the items? Or will the Lua compiler recognize this and only allocate the tables once? In other words, does the first offer any performance benefits over the second? Does this apply to Roblox types like Vector3 and TweenInfo? In my example the performance difference may not matter, but this is still good to know in case I encounter performance sensitive tasks.

local Info = TweenInfo.new(3)
local Tween = {Transparency = 1}
DebrisFolder.ChildAdded:Connect(function(Obj)
    TweenService:Create(Obj, Info, Tween):Play()
end)
DebrisFolder.ChildAdded:Connect(function(Obj)
    TweenService:Create(Obj, TweenInfo.new(3), {Transparency = 1}):Play()
end)

The first case you show is the best practice, either for performance but more importantly for maintaining especially if you have much more codes who all need that tween result table.
For performance it’s yes better practice but isnt really important. That kind of micro optimization doesn’t need any big attention, just focus on the the tween results such as a tween with cframe operations which are much more performant heavy than table allocation. Transparency isn’t heavy, except if there is decals inside which are bad performing when the parent part is transparent.

Reusing objects are better than creating more clones of it, thus first code is better. But it does not mean you should always create a global variable for those. It’s up to you especially if its not that performance heavy. It’s the same with adding a Part.Position with Vector3.new(0,1,0) instead of local up = Vector3.yAxis.