26 lines
468 B
Lua
26 lines
468 B
Lua
|
|
-- lua_workload.lua - mixed string builder + table churn
|
||
|
|
|
||
|
|
local N = tonumber(os.getenv("LUA_WORK_N")) or 500000
|
||
|
|
|
||
|
|
-- String builder (amortized)
|
||
|
|
local t = {}
|
||
|
|
for i = 1, N do
|
||
|
|
t[#t+1] = tostring(i)
|
||
|
|
if (i % 5) == 0 then t[#t+1] = "-" end
|
||
|
|
end
|
||
|
|
local s = table.concat(t)
|
||
|
|
|
||
|
|
-- Table churn (insert/remove)
|
||
|
|
local arr = {}
|
||
|
|
for i = 1, N do
|
||
|
|
arr[i] = i * 3
|
||
|
|
end
|
||
|
|
local sum = 0
|
||
|
|
for i = 1, N, 3 do
|
||
|
|
sum = sum + (arr[i] or 0)
|
||
|
|
arr[i] = nil
|
||
|
|
end
|
||
|
|
|
||
|
|
print("len(s)=", #s, " sum=", sum)
|
||
|
|
|