bulletmark / vim-plugins-profiler

Utility to output a sorted list of VIM plugin startup times in millisec.
15 stars 1 forks source link

"Inconsistency in plugins found each sample run" #2

Closed mawkler closed 4 years ago

mawkler commented 4 years ago

After running vim-plugins-profiler I get the message:

Inconsistency in plugins found each sample run

What does this mean? This is what my .vimrc looks like.

bulletmark commented 4 years ago

That's odd. Can you run the version I just pushed to master? It prints out which plugins were inconsistent.

mawkler commented 4 years ago

It complains on 74 out of my 82 plugins:

Inconsistency in plugins found each sample run:
targets.vim, vim-textobj-line, vim-yankstack, indent-blankline.nvim, vim-cool,
vim-markdown, splitjoin.vim, vim-fetch, fzf.vim,
vim-addon-commandline-completion, vim-ingo-library, bullets.vim,
sexy_scroller.vim, indentLine, vim-javascript, nerdcommenter, vim-bbye,
vim-eunuch, view, auto-pairs, traces.vim, bufferize.vim, undotree,
vim-surround, StripWhiteSpaces, incsearch.vim, onedark.vim, vim-commentary,
vim-highlighturl, vim-clap, vim-gitgutter, vim-textobj-variable-segment,
vim-indent-object, swapit, vim-argumentative, vim-textobj-entire,
git-messenger.vim, vim-exchange, capslock.vim, vim-textobj-function, lens.vim,
quick-scope, vim-snippets, vim-easymotion, restore_view.vim, bundle,
vim-printer, vim-devicons, vimtex, matchit, vim-CountJump, vim-textobj-syntax,
vim-textobj-function-syntax, vim-textobj-user, scss-syntax.vim, dsf.vim,
nerdtree, vim-multiple-cursors, MatchTagAlways, vim-matchup, coc.nvim,
vim-ConflictMotions, vim-niceblock, vim-outdated-plugins, vim-airline-clock,
vim-fugitive, vim-dispatch, vim-togglelist, vim-easy-align, vim-visualrepeat,
git-time-lapse, vim-sleuth, vim-airline, online-thesaurus-vim
bulletmark commented 4 years ago

Seriously, 82 plugins?!

Can you please run the version I just pushed to master. Then please try reducing the number of plugins to see when it/if it works.

mawkler commented 4 years ago

But what exactly does the error Inconsistency in plugins found each sample run mean? By looking at the code it looks like vim-plugins-profiler runs multiple times and sees different plugins each time? Are the printed plugin names the ones that differ between runs? What could be the reason why this is happening?

Seriously, 82 plugins?!

What can I say, I like plugins. Also, that's kind of why I want to use this profiler to see which ones affect startup the most and consider removing them.

bulletmark commented 4 years ago

As per my request, please run the new version. Also, please try reducing the number of plugins as I asked. I want to see if that makes any difference.

mawkler commented 4 years ago

This is the output with the newer version:

74 inconsistent plugins found in sample run 2:
capslock.vim, sexy_scroller.vim, vim-textobj-function, auto-pairs, nerdcommenter, vim-outdated-plugins, vim-yankstack, vim-ingo-library, view, vim-indent-object, bundle, vim-sleuth, vim-addon-commandline-completion, vim-airline-clock, lens.vim, vim-javascript, matchit, bufferize.vim, vimtex, vim-textobj-entire, vim-highlighturl, vim-textobj-variable-segment, fzf.vim, vim-fetch, vim-bbye, StripWhiteSpaces, vim-textobj-line, vim-dispatch, coc.nvim, vim-gitgutter, nerdtree, vim-visualrepeat, swapit, undotree, git-time-lapse, vim-eunuch, bullets.vim, vim-niceblock, MatchTagAlways, vim-fugitive, scss-syntax.vim, vim-easymotion, vim-multiple-cursors, vim-markdown, onedark.vim, vim-clap, targets.vim, vim-argumentative, vim-exchange, vim-textobj-function-syntax, traces.vim, dsf.vim, vim-airline, vim-snippets, vim-textobj-syntax, vim-easy-align, online-thesaurus-vim, git-messenger.vim, quick-scope, vim-commentary, vim-cool, vim-matchup, vim-ConflictMotions, indentLine, vim-surround, vim-CountJump, vim-textobj-user, vim-devicons, vim-printer, vim-togglelist, incsearch.vim, indent-blankline.nvim, splitjoin.vim, restore_view.vim
74 inconsistent plugins found in sample run 3:
capslock.vim, sexy_scroller.vim, vim-textobj-function, auto-pairs, nerdcommenter, vim-outdated-plugins, vim-yankstack, vim-ingo-library, view, vim-indent-object, bundle, vim-sleuth, vim-addon-commandline-completion, vim-airline-clock, lens.vim, vim-javascript, matchit, bufferize.vim, vimtex, vim-textobj-entire, vim-highlighturl, vim-textobj-variable-segment, fzf.vim, vim-fetch, vim-bbye, StripWhiteSpaces, vim-textobj-line, vim-dispatch, coc.nvim, vim-gitgutter, nerdtree, vim-visualrepeat, swapit, undotree, git-time-lapse, vim-eunuch, bullets.vim, vim-niceblock, MatchTagAlways, vim-fugitive, scss-syntax.vim, vim-easymotion, vim-multiple-cursors, vim-markdown, onedark.vim, vim-clap, targets.vim, vim-argumentative, vim-exchange, vim-textobj-function-syntax, traces.vim, dsf.vim, vim-airline, vim-snippets, vim-textobj-syntax, vim-easy-align, online-thesaurus-vim, git-messenger.vim, quick-scope, vim-commentary, vim-cool, vim-matchup, vim-ConflictMotions, indentLine, vim-surround, vim-CountJump, vim-textobj-user, vim-devicons, vim-printer, vim-togglelist, incsearch.vim, indent-blankline.nvim, splitjoin.vim, restore_view.vim
74 inconsistent plugins found in sample run 4:
capslock.vim, sexy_scroller.vim, vim-textobj-function, auto-pairs, nerdcommenter, vim-outdated-plugins, vim-yankstack, vim-ingo-library, view, vim-indent-object, bundle, vim-sleuth, vim-addon-commandline-completion, vim-airline-clock, lens.vim, vim-javascript, matchit, bufferize.vim, vimtex, vim-textobj-entire, vim-highlighturl, vim-textobj-variable-segment, fzf.vim, vim-fetch, vim-bbye, StripWhiteSpaces, vim-textobj-line, vim-dispatch, coc.nvim, vim-gitgutter, nerdtree, vim-visualrepeat, swapit, undotree, git-time-lapse, vim-eunuch, bullets.vim, vim-niceblock, MatchTagAlways, vim-fugitive, scss-syntax.vim, vim-easymotion, vim-multiple-cursors, vim-markdown, onedark.vim, vim-clap, targets.vim, vim-argumentative, vim-exchange, vim-textobj-function-syntax, traces.vim, dsf.vim, vim-airline, vim-snippets, vim-textobj-syntax, vim-easy-align, online-thesaurus-vim, git-messenger.vim, quick-scope, vim-commentary, vim-cool, vim-matchup, vim-ConflictMotions, indentLine, vim-surround, vim-CountJump, vim-textobj-user, vim-devicons, vim-printer, vim-togglelist, incsearch.vim, indent-blankline.nvim, splitjoin.vim, restore_view.vim
bulletmark commented 4 years ago

And did you try reducing the number of plugins?

Note that I reply within minutes. You reply in many days. Any chance you can speed up your replies otherwise it will take 3 months to make any progress on this.

mawkler commented 4 years ago

@bulletmark I reduced the number of plugins vim-plugins-profiler started working and ended up with the following which works:

Plug 'kana/vim-textobj-entire'
Plug 'kana/vim-niceblock'
Plug 'kana/vim-textobj-syntax'
Plug 'haya14busa/vim-textobj-function-syntax'
Plug 'AndrewRadev/dsf.vim'
Plug 'michaeljsmith/vim-indent-object'
Plug 'PeterRincker/vim-argumentative'
Plug 'Yggdroot/indentLine'
Plug 'lukas-reineke/indent-blankline.nvim'
Plug 'AndrewRadev/splitjoin.vim'
Plug 'junegunn/vim-easy-align'
Plug 'captbaritone/better-indent-support-for-php-with-html'
Plug 'romainl/vim-cool'
Plug 'haya14busa/incsearch.vim'
Plug 'dkarter/bullets.vim'
Plug 'plasticboy/vim-markdown'
Plug 'mjbrownie/swapit'
Plug 'tommcdo/vim-exchange'
Plug 'moll/vim-bbye'
Plug 'Julian/vim-textobj-variable-segment'
Plug 'wsdjeg/vim-fetch'
Plug 'joeytwiddle/sexy_scroller.vim'
Plug 'markonm/traces.vim'
Plug 'MaxMEllon/vim-jsx-pretty'
Plug 'ryanoasis/vim-devicons'
Plug 'meain/vim-printer'
Plug 'lervag/vimtex'
Plug 'rhysd/git-messenger.vim'
Plug 'camspiers/lens.vim'
Plug 'itchyny/vim-highlighturl'
Plug 'AndrewRadev/bufferize.vim'
Plug 'benshuailyu/online-thesaurus-vim'
Plug 'mbbill/undotree'
Plug 'semanser/vim-outdated-plugins'
mawkler commented 4 years ago

Note that I reply within minutes. You reply in many days. Any chance you can speed up your replies otherwise it will take 3 months to make any progress on this.

I linked to my .vimrc when creating the issue so if you're in a hurry you can use that to investigate on your own

bulletmark commented 4 years ago

I tried to recreate your environment and after stuffing around for ages (and adding the other files you source in from your dotfiles repo) I still get plenty of errors when I start vim so I have given up trying to use your vimrc. I do notice however that vim is outputting an error message about swap which I assume you see also when you run vim-plugins-profiler? I guess that error may have something to do with it. I have made another change so please try the latest master.

mawkler commented 4 years ago

I get the same behaviour as previously with the new version.

I don't get any error message about swap when I run vim-plugins-profiler.

As for my environment, I tried removing all three source calls in my .vimrc and still get the same error. So you shold be able to do the same and use only my .vimrc when investigating.

bulletmark commented 4 years ago

I have fixed it now. The problem actually had nothing to do with the number of plugins and was merely due to the restore_view.vim plugin alone. I was using the same single empty temporary file name for each sample run and that plugin was attempting to restore a view for the 2nd and subsequent runs because it had seen that file previously. With commit 8f36f29196f0014a0e2d07e3d936cb6def30ab29 I have changed this utility to use a (random) new temporary for each sample run to keep the runs completely independent.

mawkler commented 4 years ago

Ok great, thanks!