diff options
author | Lewis Russell <lewis6991@gmail.com> | 2023-03-31 09:43:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-31 09:43:13 +0100 |
commit | 4cff3aceeac2027d82080649ff1c8be9ffa87b90 (patch) | |
tree | d92a226241d91969b35ba4b16c24a0211ab8d0fc | |
parent | 5bf2f4b3c29fdab72044ddce74f06cb45fe9401c (diff) | |
download | rneovim-4cff3aceeac2027d82080649ff1c8be9ffa87b90.tar.gz rneovim-4cff3aceeac2027d82080649ff1c8be9ffa87b90.tar.bz2 rneovim-4cff3aceeac2027d82080649ff1c8be9ffa87b90.zip |
fix(loader): disable profiling by default
-rw-r--r-- | runtime/lua/vim/loader.lua | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/runtime/lua/vim/loader.lua b/runtime/lua/vim/loader.lua index 7b6b9cb563..7ac7f44338 100644 --- a/runtime/lua/vim/loader.lua +++ b/runtime/lua/vim/loader.lua @@ -438,21 +438,27 @@ function Loader.track(stat, f) end end -Loader.get_rtp = Loader.track('get_rtp', Loader.get_rtp) -Loader.read = Loader.track('read', Loader.read) -Loader.loader = Loader.track('loader', Loader.loader) -Loader.loader_lib = Loader.track('loader_lib', Loader.loader_lib) -Loader.loadfile = Loader.track('loadfile', Loader.loadfile) -Loader.load = Loader.track('load', Loader.load) -M.find = Loader.track('find', M.find) -Loader.lsmod = Loader.track('lsmod', Loader.lsmod) +---@class ProfileOpts +---@field loaders? boolean Add profiling to the loaders --- Debug function that wrapps all loaders and tracks stats ---@private -function M._profile_loaders() - for l, loader in pairs(loaders) do - local loc = debug.getinfo(loader, 'Sn').source:sub(2) - loaders[l] = Loader.track('loader ' .. l .. ': ' .. loc, loader) +---@param opts ProfileOpts? +function M._profile(opts) + Loader.get_rtp = Loader.track('get_rtp', Loader.get_rtp) + Loader.read = Loader.track('read', Loader.read) + Loader.loader = Loader.track('loader', Loader.loader) + Loader.loader_lib = Loader.track('loader_lib', Loader.loader_lib) + Loader.loadfile = Loader.track('loadfile', Loader.loadfile) + Loader.load = Loader.track('load', Loader.load) + M.find = Loader.track('find', M.find) + Loader.lsmod = Loader.track('lsmod', Loader.lsmod) + + if opts and opts.loaders then + for l, loader in pairs(loaders) do + local loc = debug.getinfo(loader, 'Sn').source:sub(2) + loaders[l] = Loader.track('loader ' .. l .. ': ' .. loc, loader) + end end end |