summaryrefslogtreecommitdiff
path: root/lua/tests
diff options
context:
space:
mode:
Diffstat (limited to 'lua/tests')
-rw-r--r--lua/tests/manual/profile_for_sorters.lua71
1 files changed, 71 insertions, 0 deletions
diff --git a/lua/tests/manual/profile_for_sorters.lua b/lua/tests/manual/profile_for_sorters.lua
new file mode 100644
index 0000000..b5c7cd4
--- /dev/null
+++ b/lua/tests/manual/profile_for_sorters.lua
@@ -0,0 +1,71 @@
+-- TODO: Add a ladder test.
+-- 1, 2, 4, 8, 16, 32 attempts
+
+RELOAD('plenary')
+-- RELOAD('telescope')
+
+local profiler = require('plenary.profile.lua_profiler')
+local Job = require('plenary.job')
+
+BIG_LIST = nil
+BIG_LIST = BIG_LIST or Job:new { command = 'fdfind', cwd = '~/build/' }:sync()
+print(#BIG_LIST)
+
+local do_profile = true
+local sorter_to_test = require('telescope.sorters').get_fuzzy_file()
+
+local strings_to_test = { "", "ev", "eval.c", "neovim/eval.c" }
+
+if do_profile then
+ profiler.start()
+end
+
+local first_results = setmetatable({}, {
+ __index = function(t, k)
+ local obj = {}
+ rawset(t, k, obj)
+ return obj
+ end
+})
+
+local second_results = {}
+
+local do_iterations = function(num)
+ local start
+ for _, prompt in ipairs(strings_to_test) do
+ start = vim.fn.reltime()
+
+ for _ = 1, num do
+ for _, v in ipairs(BIG_LIST) do
+ sorter_to_test:score(prompt, v)
+ end
+ end
+ -- print("First Time: ", vim.fn.reltimestr(vim.fn.reltime(start)), num, prompt)
+ table.insert(first_results[prompt], vim.fn.reltimestr(vim.fn.reltime(start)))
+
+ start = vim.fn.reltime()
+ for _ = 1, num do
+ for _, v in ipairs(BIG_LIST) do
+ sorter_to_test:score(prompt, v)
+ end
+ end
+
+ -- print("Second Time: ", vim.fn.reltimestr(vim.fn.reltime(start)), num, prompt)
+ table.insert(second_results, vim.fn.reltimestr(vim.fn.reltime(start)))
+ end
+end
+
+do_iterations(1)
+-- do_iterations(2)
+-- do_iterations(4)
+-- do_iterations(8)
+-- do_iterations(16)
+-- do_iterations(32)
+
+print(vim.inspect(first_results))
+
+if do_profile then
+ profiler.stop()
+ profiler.report('/home/tj/tmp/profiler_score.txt')
+end
+