luau/bench/micro_tests/test_StringInterp.lua
2023-12-08 17:42:54 +02:00

52 lines
1.2 KiB
Lua

local function prequire(name) local success, result = pcall(require, name); return if success then result else nil end
local bench = script and require(script.Parent.bench_support) or prequire("bench_support") or require("../bench_support")
bench.runCode(function()
for j=1,1e6 do
local _ = "j=" .. tostring(j)
end
end, "interp: tostring")
bench.runCode(function()
for j=1,1e6 do
local _ = "j=" .. j
end
end, "interp: concat")
bench.runCode(function()
for j=1,1e6 do
local _ = string.format("j=%f", j)
end
end, "interp: %f format")
bench.runCode(function()
for j=1,1e6 do
local _ = string.format("j=%d", j)
end
end, "interp: %d format")
bench.runCode(function()
for j=1,1e6 do
local _ = string.format("j=%*", j)
end
end, "interp: %* format")
bench.runCode(function()
for j=1,1e6 do
local _ = `j={j}`
end
end, "interp: interp number")
bench.runCode(function()
local ok = "hello!"
for j=1,1e6 do
local _ = string.format("j=%s", ok)
end
end, "interp: %s format")
bench.runCode(function()
local ok = "hello!"
for j=1,1e6 do
local _ = `j={ok}`
end
end, "interp: interp string")