summaryrefslogtreecommitdiff
path: root/tests/modules/string/split_perf.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2020-03-01 21:36:23 +0800
committerruki <[email protected]>2020-03-01 21:36:23 +0800
commitc68fa66a89dcce3bf589703435c01e7aa8b2ef2b (patch)
treede78dc4394ffaf598cdfb4fb5be038f41c9d9d81 /tests/modules/string/split_perf.lua
parenta64a335f331fd34d082f0c17f6d81012976fe748 (diff)
add split_perf test
Diffstat (limited to 'tests/modules/string/split_perf.lua')
-rw-r--r--tests/modules/string/split_perf.lua37
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