Efficient script Has about 2 to 4% performance
local tbl = {workspace.Part,workspace.Part1,workspace.Part2,workspace.Part3}
while wait() do
for i,v in pairs(tbl) do
v.Position = v.Position + Vector3.new(0,.01,0)
end
end
Unefficient script
Has about .3 to .5 performance
local Part = game.Workspace.Part
local Part1 = game.Workspace.Part1
local Part2 = game.Workspace.Part2
local Part3 = workspace.Part3
while wait() do
Part.Position = Part.Position +Vector3.new(0,.01,0)
Part1.Position = Part1.Position +Vector3.new(0,.01,0)
Part2.Position = Part2.Position +Vector3.new(0,.01,0)
Part3.Position = Part3.Position +Vector3.new(0,.01,0)
end
From the performance statistics the Unefficient script is less laggier by almost 8x

2 comments
The first script is calling multiple functions. The for-loop iterator is called every loop including the instantiation pairs(tbl).
This was made by CntKillMe, it should help if you want to understand https://docs.google.com/document/d/1KlrlNYNfVKyvTbmJBoVODOqMJF-wTn_JbGUEm0G6RIM/edit