mirror of https://github.com/folke/lazy.nvim.git
refactor: Cache.stats -> Cache.stats.find
This commit is contained in:
parent
b1f7ae68a7
commit
6351a2e8f3
|
@ -14,7 +14,7 @@ local M = {}
|
||||||
M.VERSION = 1
|
M.VERSION = 1
|
||||||
M.path = vim.fn.stdpath("cache") .. "/lazy/luac"
|
M.path = vim.fn.stdpath("cache") .. "/lazy/luac"
|
||||||
M.enabled = false
|
M.enabled = false
|
||||||
M.stats = { total = 0, time = 0, index = 0, stat = 0, not_found = 0 }
|
M.stats = { find = { total = 0, time = 0, index = 0, stat = 0, not_found = 0 } }
|
||||||
|
|
||||||
---@class ModuleCache
|
---@class ModuleCache
|
||||||
---@field _rtp string[]
|
---@field _rtp string[]
|
||||||
|
@ -176,7 +176,7 @@ end
|
||||||
function Cache.find(modname, opts)
|
function Cache.find(modname, opts)
|
||||||
opts = opts or {}
|
opts = opts or {}
|
||||||
local start = uv.hrtime()
|
local start = uv.hrtime()
|
||||||
M.stats.total = M.stats.total + 1
|
M.stats.find.total = M.stats.find.total + 1
|
||||||
modname = modname:gsub("/", ".")
|
modname = modname:gsub("/", ".")
|
||||||
local basename = modname:gsub("%.", "/")
|
local basename = modname:gsub("%.", "/")
|
||||||
local idx = modname:find(".", 1, true)
|
local idx = modname:find(".", 1, true)
|
||||||
|
@ -199,10 +199,10 @@ function Cache.find(modname, opts)
|
||||||
if M.lsmod(path)[topmod] then
|
if M.lsmod(path)[topmod] then
|
||||||
for _, pattern in ipairs(patterns) do
|
for _, pattern in ipairs(patterns) do
|
||||||
local modpath = path .. pattern
|
local modpath = path .. pattern
|
||||||
M.stats.stat = M.stats.stat + 1
|
M.stats.find.stat = M.stats.find.stat + 1
|
||||||
local hash = uv.fs_stat(modpath)
|
local hash = uv.fs_stat(modpath)
|
||||||
if hash then
|
if hash then
|
||||||
M.stats.time = M.stats.time + uv.hrtime() - start
|
M.stats.find.time = M.stats.find.time + uv.hrtime() - start
|
||||||
return modpath, hash
|
return modpath, hash
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -210,8 +210,8 @@ function Cache.find(modname, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- module not found
|
-- module not found
|
||||||
M.stats.not_found = M.stats.not_found + 1
|
M.stats.find.not_found = M.stats.find.not_found + 1
|
||||||
M.stats.time = M.stats.time + uv.hrtime() - start
|
M.stats.find.time = M.stats.find.time + uv.hrtime() - start
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Resets the topmods cache for the path
|
--- Resets the topmods cache for the path
|
||||||
|
@ -250,7 +250,7 @@ end
|
||||||
---@return string[]
|
---@return string[]
|
||||||
function M.lsmod(path)
|
function M.lsmod(path)
|
||||||
if not Cache._topmods[path] then
|
if not Cache._topmods[path] then
|
||||||
M.stats.index = M.stats.index + 1
|
M.stats.find.index = M.stats.find.index + 1
|
||||||
Cache._topmods[path] = {}
|
Cache._topmods[path] = {}
|
||||||
local handle = vim.loop.fs_scandir(path .. "/lua")
|
local handle = vim.loop.fs_scandir(path .. "/lua")
|
||||||
while handle do
|
while handle do
|
||||||
|
@ -288,12 +288,12 @@ function M.inspect()
|
||||||
return math.floor(nsec / 1e6 * 1000 + 0.5) / 1000 .. "ms"
|
return math.floor(nsec / 1e6 * 1000 + 0.5) / 1000 .. "ms"
|
||||||
end
|
end
|
||||||
local props = {
|
local props = {
|
||||||
{ "total", M.stats.total, "Number" },
|
{ "total", M.stats.find.total, "Number" },
|
||||||
{ "time", ms(M.stats.time), "Bold" },
|
{ "time", ms(M.stats.find.time), "Bold" },
|
||||||
{ "avg time", ms(M.stats.time / M.stats.total), "Bold" },
|
{ "avg time", ms(M.stats.find.time / M.stats.find.total), "Bold" },
|
||||||
{ "index", M.stats.index, "Number" },
|
{ "index", M.stats.find.index, "Number" },
|
||||||
{ "fs_stat", M.stats.stat, "Number" },
|
{ "fs_stat", M.stats.find.stat, "Number" },
|
||||||
{ "not found", M.stats.not_found, "Number" },
|
{ "not found", M.stats.find.not_found, "Number" },
|
||||||
}
|
}
|
||||||
local chunks = {} ---@type string[][]
|
local chunks = {} ---@type string[][]
|
||||||
for _, prop in ipairs(props) do
|
for _, prop in ipairs(props) do
|
||||||
|
|
|
@ -672,12 +672,12 @@ function M:debug()
|
||||||
|
|
||||||
self:append("Cache.find()", "LazyH2"):nl()
|
self:append("Cache.find()", "LazyH2"):nl()
|
||||||
self:props({
|
self:props({
|
||||||
{ "total", Cache.stats.total, "Number" },
|
{ "total", Cache.stats.find.total, "Number" },
|
||||||
{ "time", self:ms(Cache.stats.time, 3), "Bold" },
|
{ "time", self:ms(Cache.stats.find.time, 3), "Bold" },
|
||||||
{ "avg time", self:ms(Cache.stats.time / Cache.stats.total, 3), "Bold" },
|
{ "avg time", self:ms(Cache.stats.find.time / Cache.stats.find.total, 3), "Bold" },
|
||||||
{ "index", Cache.stats.index, "Number" },
|
{ "index", Cache.stats.find.index, "Number" },
|
||||||
{ "fs_stat", Cache.stats.stat, "Number" },
|
{ "fs_stat", Cache.stats.find.stat, "Number" },
|
||||||
{ "not found", Cache.stats.not_found, "Number" },
|
{ "not found", Cache.stats.find.not_found, "Number" },
|
||||||
}, { indent = 2 })
|
}, { indent = 2 })
|
||||||
self:nl()
|
self:nl()
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue