1
0
Fork 0
mirror of https://github.com/luau-lang/luau.git synced 2025-03-04 19:21:42 +00:00
luau/bench/micro_tests/test_string_lib.lua
Vyacheslav Egorov aafea36235
Fixed the backwards compatible benchmark support library require ()
Previous benchmark require fix wasn't actually working correctly for the
old style require (or running in Lua).
2023-12-04 12:48:31 -08:00

40 lines
1 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()
local src = string.rep("abcdefghijklmnopqrstuvwxyz", 100)
local str = ""
for i=1,1000 do
str = string.upper(src)
str = string.reverse(str)
str = string.lower(str)
end
assert(#str)
end, "string: reverse/upper/lower (large)")
bench.runCode(function()
local str = ""
for i=1,100000 do
src = "abcdefghijklmnopqrstuvwxyz" .. i
str = string.upper(src)
str = string.reverse(str)
str = string.lower(str)
end
assert(#str)
end, "string: reverse/upper/lower (unique)")
bench.runCode(function()
local str = ""
for i=1,1000000 do
str = string.rep("_", 19)
end
assert(#str)
end, "string: rep (small)")
bench.runCode(function()
local str = ""
for i=1,100 do
str = string.rep("abcd", 100000)
end
assert(#str)
end, "string: rep (large)")