Skip to content

Commit

Permalink
perf: run cache autosave after loading
Browse files Browse the repository at this point in the history
  • Loading branch information
folke committed Nov 29, 2022
1 parent e6bbf92 commit 3ec5a2c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 25 deletions.
49 changes: 24 additions & 25 deletions lua/lazy/core/cache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,30 @@ function M.hash(file)
end

function M.setup()
M.load()
cache = {}
local f = io.open(cache_path, "rb")
if f then
cache_hash = M.hash(cache_path)
---@type string
local data = f:read("*a")
f:close()

local from = 1
local to = data:find("\0", from, true)
while to do
local key = data:sub(from, to - 1)
from = to + 1
to = data:find("\0", from, true)
local len = tonumber(data:sub(from, to - 1))
from = to + 1
cache[key] = data:sub(from, from + len - 1)
from = from + len
to = data:find("\0", from, true)
end
end
end

function M.autosave()
vim.api.nvim_create_autocmd("User", {
pattern = "LazyDone",
once = true,
Expand Down Expand Up @@ -77,28 +100,4 @@ function M.save()
f:close()
end

function M.load()
cache = {}
local f = io.open(cache_path, "rb")
if f then
cache_hash = M.hash(cache_path)
---@type string
local data = f:read("*a")
f:close()

local from = 1
local to = data:find("\0", from, true)
while to do
local key = data:sub(from, to - 1)
from = to + 1
to = data:find("\0", from, true)
local len = tonumber(data:sub(from, to - 1))
from = to + 1
cache[key] = data:sub(from, from + len - 1)
from = from + len
to = data:find("\0", from, true)
end
end
end

return M
2 changes: 2 additions & 0 deletions lua/lazy/core/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ M.defaults = {
task = "",
},
},
install_missing = true,
git = {
-- defaults for `Lazy log`
log = { "-10" }, -- last 10 commits
Expand Down Expand Up @@ -67,6 +68,7 @@ function M.setup(opts)
pattern = "VeryLazy",
once = true,
callback = function()
require("lazy.core.cache").autosave()
require("lazy.view").setup()
end,
})
Expand Down

0 comments on commit 3ec5a2c

Please sign in to comment.