sourcing /etc/xdg/nvim/sysinit.vim slow?
Hi Guys,
im trying too reduce my nvim startup time and found out that sourcing /etc/xdg/nvim/sysinit.vim takes pretty "long".
Is it normal or is there a way to reduce the speed?
000.008 000.008: --- NVIM STARTING --- 000.233 000.225: locale set 000.453 000.220: inits 1 000.463 000.010: window checked 004.414 003.951: parsing arguments 004.536 000.121: expanding arguments 004.555 000.019: inits 2 005.034 000.480: init highlight 005.035 000.001: waiting for UI 006.058 001.023: done waiting for UI 006.076 000.018: init screen for UI 006.089 000.014: init default mappings 006.161 000.071: init default autocommands 006.229 000.011 000.011: sourcing /usr/share/nvim/archlinux.vim 006.232 000.038 000.027: sourcing /etc/xdg/nvim/sysinit.vim 055.182 048.933 048.933: sourcing /home/kuripa/.config/nvim/init.lua 055.199 000.067: sourcing vimrc file(s) 059.835 000.015 000.015: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim 060.273 000.032 000.032: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/elixir.vim 060.309 000.013 000.013: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fennel.vim 060.351 000.020 000.020: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fish.vim 060.389 000.018 000.018: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fusion.vim 060.434 000.023 000.023: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdresource.vim 060.470 000.015 000.015: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdscript.vim 060.516 000.015 000.015: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glimmer.vim 060.575 000.036 000.036: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glsl.vim 060.614 000.016 000.016: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gomod.vim 060.653 000.017 000.017: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gowork.vim 060.696 000.023 000.023: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/graphql.vim 060.743 000.024 000.024: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hcl.vim 060.820 000.013 000.013: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/heex.vim 060.850 000.013 000.013: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hjson.vim 060.891 000.009 000.009: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/json5.vim 060.920 000.012 000.012: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/julia.vim 060.982 000.040 000.040: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ledger.vim 061.013 000.011 000.011: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/nix.vim 061.036 000.008 000.008: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/prisma.vim 061.058 000.008 000.008: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/pug.vim 061.082 000.011 000.011: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ql.vim 061.114 000.019 000.019: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/query.vim 061.148 000.017 000.017: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/surface.vim 061.177 000.012 000.012: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/teal.vim 061.207 000.014 000.014: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/tlaplus.vim 061.232 000.011 000.011: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/yang.vim 061.308 000.013 000.013: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/zig.vim 061.434 000.011 000.011: sourcing /usr/share/vim/vimfiles/ftdetect/PKGBUILD.vim 061.703 006.414 005.928: sourcing /usr/share/nvim/runtime/filetype.vim 061.923 000.033 000.033: sourcing /usr/share/nvim/runtime/ftplugin.vim 062.113 000.026 000.026: sourcing /usr/share/nvim/runtime/indent.vim 062.347 000.067 000.067: sourcing /usr/share/nvim/runtime/syntax/synload.vim 062.423 000.267 000.199: sourcing /usr/share/nvim/runtime/syntax/syntax.vim 063.575 000.344 000.344: sourcing /usr/share/nvim/runtime/plugin/gzip.vim 063.615 000.022 000.022: sourcing /usr/share/nvim/runtime/plugin/health.vim 063.722 000.092 000.092: sourcing /usr/share/nvim/runtime/plugin/man.vim 064.287 000.198 000.198: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim 064.387 000.652 000.454: sourcing /usr/share/nvim/runtime/plugin/matchit.vim 064.552 000.148 000.148: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim 064.942 000.373 000.373: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim 065.142 000.010 000.010: sourcing /home/kuripa/.local/share/nvim/rplugin.vim 065.149 000.146 000.136: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim 065.313 000.145 000.145: sourcing /usr/share/nvim/runtime/plugin/shada.vim 065.394 000.056 000.056: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim 065.546 000.128 000.128: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim 065.660 000.089 000.089: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim 065.777 000.058 000.058: sourcing /usr/share/nvim/runtime/plugin/tutor.vim 065.999 000.180 000.180: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim 073.351 007.193 007.193: sourcing /home/kuripa/.config/nvim/plugin/packer_compiled.lua 073.611 002.046: loading rtp plugins 074.188 000.254 000.254: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim 075.200 000.568 000.568: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua 075.403 000.113 000.113: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-lsp-installer/plugin/nvim-lsp-installer.vim 075.592 000.081 000.081: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.vim 076.463 000.757 000.757: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.vim 076.765 000.063 000.063: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/nvim-web-devicons/plugin/nvim-web-devicons.vim 077.090 000.048 000.048: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim 077.518 000.264 000.264: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/trouble.nvim/plugin/trouble.vim 077.805 000.020 000.020: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim 078.018 002.238: loading packages 078.910 000.586 000.586: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua 079.160 000.153 000.153: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua 079.410 000.184 000.184: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua 079.612 000.135 000.135: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua/after/plugin/cmp_nvim_lua.lua 079.947 000.271 000.271: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua 080.339 000.303 000.303: sourcing /home/kuripa/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua 080.358 000.709: loading after plugins 080.383 000.026: inits 3 082.813 002.430: reading ShaDa 083.549 000.736: opening buffers 083.614 000.066: BufEnter autocommands 083.617 000.003: editing files in windows 091.603 007.986: VimEnter autocommands 091.633 000.030: UIEnter autocommands 091.990 000.223 000.223: sourcing /usr/share/nvim/runtime/autoload/provider/clipboard.vim 091.998 000.142: before starting main loop 099.144 007.147: first screen update 099.148 000.003: --- NVIM STARTED ---
I think you might be reading this wrong. The second column is the elapsed time for the given entry, so the sysinit script is loaded in <0.1ms.
Edit: Also, 100ms is just fine. It's literally the blink of an eye :)
Yep my mistake... I was reading this wrong :)
When my laptop is on battery saving mode, the startup time goes up to 250ms. It is still fast but I can definitely feel the difference. Thats why I try to reduce my startup time.
Thank you!
Your init.lua takes the longest. Try to profile different sections with:
local t = vim.fn.reltime() -- measured code print(vim.fn.reltimestr(vim.fn.reltime(t)))