diff options
Diffstat (limited to 'tests/modules/string/split_perf.lua')
| -rw-r--r-- | tests/modules/string/split_perf.lua | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/modules/string/split_perf.lua b/tests/modules/string/split_perf.lua new file mode 100644 index 000000000..96d62dad9 --- /dev/null +++ b/tests/modules/string/split_perf.lua @@ -0,0 +1,37 @@ + +function _split_perf(str, pattern, opt) + local dt = os.mclock() + for i = 0, 1000000 do + str:split(pattern, opt) + end + dt = os.mclock() - dt + print("split(%s .., %s, %s): %d ms", str:sub(1, 16), pattern, string.serialize(opt or {}, {strip = true, indent = false}), dt) +end + +function main() + + local str = "shortstr: 123abc123123xyz[123]+abc123" + _split_perf(str, "1") + _split_perf(str, "123") + _split_perf(str, "[123]+") + print("") + + _split_perf(str, "1", {plain = true}) + _split_perf(str, "123", {plain = true}) + _split_perf(str, "[123]+", {plain = true}) + print("") + + str = "longstr: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + for i = 0, 100 do + str = str .. "123yy[123]+" + end + _split_perf(str, "1") + _split_perf(str, "123") + _split_perf(str, "[123]+") + print("") + + _split_perf(str, "1", {plain = true}) + _split_perf(str, "123", {plain = true}) + _split_perf(str, "[123]+", {plain = true}) + print("") +end |
