fix(stats): windows

This commit is contained in:
Folke Lemaitre 2023-01-02 17:42:12 +01:00
parent 2ea0751a23
commit 85173dcc4d
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
1 changed files with 6 additions and 3 deletions

View File

@ -21,7 +21,7 @@ M.C = nil
function M.on_ui_enter() function M.on_ui_enter()
M._stats.startuptime = M.track("UIEnter") M._stats.startuptime = M.track("UIEnter")
M._stats.startuptime_cputime = M.C.clock_gettime ~= nil M._stats.startuptime_cputime = M.C ~= false
vim.cmd([[do User LazyVimStarted]]) vim.cmd([[do User LazyVimStarted]])
end end
@ -33,6 +33,7 @@ end
function M.cputime() function M.cputime()
if M.C == nil then if M.C == nil then
M.C = false
pcall(function() pcall(function()
ffi.cdef([[ ffi.cdef([[
typedef long time_t; typedef long time_t;
@ -43,10 +44,12 @@ function M.cputime()
} nanotime; } nanotime;
int clock_gettime(clockid_t clk_id, struct timespec *tp); int clock_gettime(clockid_t clk_id, struct timespec *tp);
]]) ]])
if M.C.clock_gettime then
M.C = ffi.C
end
end) end)
M.C = ffi.C
end end
if M.C.clock_gettime then if M.C then
local pnano = assert(ffi.new("nanotime[?]", 1)) local pnano = assert(ffi.new("nanotime[?]", 1))
local CLOCK_PROCESS_CPUTIME_ID = jit.os == "OSX" and 12 or 2 local CLOCK_PROCESS_CPUTIME_ID = jit.os == "OSX" and 12 or 2
ffi.C.clock_gettime(CLOCK_PROCESS_CPUTIME_ID, pnano) ffi.C.clock_gettime(CLOCK_PROCESS_CPUTIME_ID, pnano)