diff options
| author | ruki <[email protected]> | 2020-03-18 22:51:36 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-03-18 11:09:37 +0800 |
| commit | c30c785e9d56d049c0b5f6a6657b93b96a1b8ea7 (patch) | |
| tree | 1f4ae3f716537cf778ef5e2d0bb8636d95f985d2 /tests/modules/string | |
| parent | a6c0dcf25be88e82d68edd8ae9dba529e31ade0a (diff) | |
add lastof_perf test
Diffstat (limited to 'tests/modules/string')
| -rw-r--r-- | tests/modules/string/lastof_perf.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/modules/string/lastof_perf.lua b/tests/modules/string/lastof_perf.lua new file mode 100644 index 000000000..eb0c40e76 --- /dev/null +++ b/tests/modules/string/lastof_perf.lua @@ -0,0 +1,38 @@ + +function _lastof_perf(str, pattern, opt) + local plain = opt and opt.plain + local dt = os.mclock() + for i = 0, 1000000 do + str:lastof(pattern, plain) + end + dt = os.mclock() - dt + print("lastof(%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" + _lastof_perf(str, "1") + _lastof_perf(str, "123") + _lastof_perf(str, "[123]+") + print("") + + _lastof_perf(str, "1", {plain = true}) + _lastof_perf(str, "123", {plain = true}) + _lastof_perf(str, "[123]+", {plain = true}) + print("") + + str = "longstr: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + for i = 0, 100 do + str = str .. "[123]+" + end + _lastof_perf(str, "1") + _lastof_perf(str, "123") + _lastof_perf(str, "[123]+") + print("") + + _lastof_perf(str, "1", {plain = true}) + _lastof_perf(str, "123", {plain = true}) + _lastof_perf(str, "[123]+", {plain = true}) + print("") +end |
