quangnguyen30192 / cmp-nvim-ultisnips

nvim-cmp source for ultisnips
Apache License 2.0
144 stars 19 forks source link

vim startup 150ms slower since #93 #100

Open liskin opened 2 weeks ago

liskin commented 2 weeks ago
$ git checkout baac332
$ nvim --startuptime /tmp/nvim-bad.txt
$ grep 'sourcing.*cmp_nvim_ultisnips' /tmp/nvim-bad.txt
247.983  000.147  000.147: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/autoload/cmp_nvim_ultisnips.vim
248.239  143.683  119.665: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/after/plugin/cmp_nvim_ultisnips.lua

vs

$ git checkout baac332^
$ nvim --startuptime /tmp/nvim-good.txt
$ grep 'sourcing.*cmp_nvim_ultisnips' /tmp/nvim-good.txt
097.585  000.098  000.098: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/autoload/cmp_nvim_ultisnips.vim
097.729  001.621  000.779: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/after/plugin/cmp_nvim_ultisnips.lua

Still not okay with current main (2be0eda0f7fbf47ebd9fbdace369cc45d57acf49):

cmp_nvim_ultisnips.snippets')
099.720  000.308  000.181: require('cmp_nvim_ultisnips.source')
099.758  000.037  000.037: require('cmp_nvim_ultisnips.config')
099.760  000.547  000.202: require('cmp_nvim_ultisnips')
099.862  000.015  000.015: sourcing /home/tomi/.vim/pack/bundle/start/ultisnips/plugin/UltiSnips.vim
100.122  000.011  000.011: sourcing /home/tomi/.vim/after/plugin/UltiSnips.vim
100.658  000.074  000.074: sourcing /usr/share/nvim/runtime/autoload/provider/pythonx.vim
123.710  000.209  000.209: sourcing /usr/share/nvim/runtime/autoload/remote/host.vim
123.822  023.446  023.163: sourcing /usr/share/nvim/runtime/autoload/provider/python3.vim
124.147  000.017  000.017: sourcing /usr/share/nvim/runtime/autoload/provider.vim
208.096  000.336  000.336: require('cmp_nvim_ultisnips.treesitter')
208.358  000.038  000.038: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/autoload/cmp_nvim_ultisnips.vim
208.607  109.468  085.057: sourcing /home/tomi/.local/share/nvim/site/pack/bundle/start/cmp-nvim-ultisnips/after/plugin/cmp_nvim_ultisnips.lua
liskin commented 2 weeks ago

Probably the best way to fix this would be to introduce a wrapper autoload/cmp_nvim_ultisnips_utils.vim (or .lua, required late) that loads the python script and provides wrapper functions, to make sure it's loaded lazily.