Why are you using ipairs if it is literally slower than not using it?
11:45:39.994 >
--!native
--!optimize 2
local warmup_iterations = 10_000
local iterations = 1_000_000
local goons = 1000 -- Number of elements in the table
local t = {}
for i = 1, goons do
t[i] = i
end
-- Warmup
for _ = 1, warmup_iterations do
for i, v in t do end
for i, v in ipairs(t) do end
end
-- ipairs
do
local clocked = os.clock()
for _ = 1, iterations do
for i, v in ipairs(t) do end
end
print("ipairs:", os.clock() - clocked)
end
-- None
do
local clocked = os.clock()
for _ = 1, iterations do
for i, v in t do end
end
print("None:", os.clock() - clocked)
end - Studio
11:45:44.494 ipairs: 4.4322331999997004 - Edit
11:45:47.360 None: 2.8647651999999653 - Edit
![]()