neovim / neovim

Vim-fork focused on extensibility and usability
https://neovim.io
Other
82.41k stars 5.63k forks source link

Slow startup with clipboard.vim + xsel #7237

Closed pmalek closed 5 years ago

pmalek commented 7 years ago

Features: +acl +iconv +jemalloc +tui See ":help feature-compile"

system vimrc file: "$VIM/sysinit.vim" fall-back for $VIM: "/home/pmalek/bin/nvim/share/nvim"


- Vim (version: ) behaves differently?
N/A
- Operating system/version: 
`Linux ubuntu-160402 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux`
- Terminal name/version: via Windows - Putty
- `$TERM`: `screen-256color`

### Steps to reproduce using `nvim -u NORC`

Does not reproduce on `nvim -u NORC` -  fast startup

### Actual behaviour
Quite recently I observed that `nvim` takes several seconds to launch while before it was maximum a second. I managed to trace it back `nvim/share/nvim/runtime/autoload/provider/clipboard.vim` but I do now know what exactly there is causing the issue.

`nvim --startuptime ~/.config/nvim/init.vim`

times in msec clock self+sourced self: sourced script clock elapsed: other lines

000.025 000.025: --- NVIM STARTING --- 000.445 000.420: locale set 001.343 000.898: inits 1 001.364 000.021: window checked 001.972 000.607: parsing arguments 001.979 000.007: expanding arguments 002.070 000.091: inits 2 002.943 000.873: init highlight 003.261 000.072 000.072: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/ftoff.vim 006.793 003.439 003.439: sourcing /home/pmalek/.config/nvim/autoload/plug.vim 056.201 000.246 000.246: sourcing /home/pmalek/.config/nvim/plugged/vim-go/ftdetect/gofiletype.vim 056.374 000.071 000.071: sourcing /home/pmalek/.config/nvim/plugged/ultisnips/ftdetect/snippets.vim 056.955 036.351 036.034: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/filetype.vim 057.370 000.071 000.071: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/ftplugin.vim 057.765 000.063 000.063: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/indent.vim 059.057 000.479 000.479: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syncolor.vim 059.273 001.050 000.571: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/synload.vim 059.334 001.471 000.421: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syntax.vim 059.690 000.020 000.020: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/filetype.vim 060.052 000.017 000.017: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/ftplugin.vim 060.383 000.015 000.015: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/indent.vim 060.747 000.230 000.230: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/nosyntax.vim 061.654 000.262 000.262: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syncolor.vim 061.850 000.792 000.530: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/synload.vim 061.906 001.441 000.418: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syntax.vim 063.164 000.361 000.361: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syncolor.vim 064.920 000.378 000.378: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syncolor.vim 065.716 000.355 000.355: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/syncolor.vim 080.803 017.290 016.557: sourcing /home/pmalek/.config/nvim/plugged/gruvbox/colors/gruvbox.vim 081.636 078.556 017.946: sourcing /home/pmalek/.config/nvim/init.vim 081.647 000.149: sourcing vimrc file(s) 082.662 000.797 000.797: sourcing /home/pmalek/.config/nvim/plugged/vim-surround/plugin/surround.vim 088.929 006.162 006.162: sourcing /home/pmalek/.config/nvim/plugged/vim-unimpaired/plugin/unimpaired.vim 094.115 005.078 005.078: sourcing /home/pmalek/.config/nvim/plugged/vim-fugitive/plugin/fugitive.vim 094.523 000.307 000.307: sourcing /home/pmalek/.config/nvim/plugged/vim-go/plugin/go.vim 094.979 000.210 000.210: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline.vim 095.281 000.132 000.132: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/init.vim 096.092 000.172 000.172: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/parts.vim 097.425 002.809 002.295: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/plugin/airline.vim 097.557 000.029 000.029: sourcing /home/pmalek/.config/nvim/plugged/vim-airline-themes/plugin/airline-themes.vim 098.411 000.117 000.117: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider/pythonx.vim 150.515 000.298 000.298: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/remote/host.vim 150.721 052.734 052.319: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider/python3.vim 151.152 000.139 000.139: sourcing /home/pmalek/.config/nvim/plugged/ultisnips/autoload/UltiSnips/map_keys.vim 151.326 053.691 000.818: sourcing /home/pmalek/.config/nvim/plugged/ultisnips/plugin/UltiSnips.vim 151.498 000.068 000.068: sourcing /home/pmalek/.config/nvim/plugged/vim-snippets/plugin/vimsnippets.vim 151.620 000.037 000.037: sourcing /home/pmalek/.config/nvim/plugged/deoplete.nvim/plugin/deoplete.vim 151.891 000.099 000.099: sourcing /home/pmalek/.config/nvim/plugged/deoplete-go/plugin/deoplete-go.vim 164.118 012.102 012.102: sourcing /home/pmalek/.config/nvim/plugged/nerdcommenter/plugin/NERD_commenter.vim 165.958 000.311 000.311: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/autoload/nerdtree.vim 168.779 000.949 000.949: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/path.vim 169.210 000.232 000.232: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/menu_controller.vim 169.537 000.149 000.149: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/menu_item.vim 169.907 000.194 000.194: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/key_map.vim 170.505 000.424 000.424: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/bookmark.vim 171.139 000.450 000.450: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/tree_file_node.vim 172.125 000.801 000.801: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/tree_dir_node.vim 172.695 000.388 000.388: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/opener.vim 173.689 000.819 000.819: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/creator.vim 174.203 000.335 000.335: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/flag_set.vim 175.474 001.092 001.092: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/nerdtree.vim 177.363 001.720 001.720: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/ui.vim 177.619 000.087 000.087: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/event.vim 178.016 000.233 000.233: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/lib/nerdtree/notifier.vim 180.961 002.762 002.762: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/autoload/nerdtree/ui_glue.vim 214.642 000.288 000.288: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/nerdtree_plugin/exec_menuitem.vim 215.759 001.082 001.082: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/nerdtree_plugin/fs_menu.vim 216.350 052.081 039.766: sourcing /home/pmalek/.config/nvim/plugged/nerdtree/plugin/NERD_tree.vim 275.815 058.869 058.869: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider/python.vim 276.479 060.022 001.153: sourcing /home/pmalek/.config/nvim/plugged/YouCompleteMe/plugin/youcompleteme.vim 276.921 000.281 000.281: sourcing /home/pmalek/.config/nvim/plugged/ListToggle/plugin/listtoggle.vim 278.134 000.525 000.525: sourcing /home/pmalek/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp/mrufiles.vim 278.446 001.394 000.869: sourcing /home/pmalek/.config/nvim/plugged/ctrlp.vim/plugin/ctrlp.vim 280.255 001.658 001.658: sourcing /home/pmalek/.config/nvim/plugged/fzf/plugin/fzf.vim 282.454 002.060 002.060: sourcing /home/pmalek/.config/nvim/plugged/fzf.vim/plugin/fzf.vim 284.054 000.203 000.203: sourcing /home/pmalek/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/highlight.vim 286.252 003.636 003.433: sourcing /home/pmalek/.config/nvim/plugged/vim-gitgutter/plugin/gitgutter.vim 287.218 000.834 000.834: sourcing /home/pmalek/.config/nvim/plugged/auto-pairs/plugin/auto-pairs.vim 288.542 001.196 001.196: sourcing /home/pmalek/.config/nvim/plugged/vim-clang-format/plugin/clang_format.vim 290.636 001.972 001.972: sourcing /home/pmalek/.config/nvim/plugged/tagbar/plugin/tagbar.vim 291.167 000.405 000.405: sourcing /home/pmalek/.config/nvim/plugged/ack.vim/plugin/ack.vim 291.331 000.041 000.041: sourcing /home/pmalek/.config/nvim/plugged/toogle-maximize.vim/plugin/toogle-maximize.vim 291.739 000.302 000.302: sourcing /home/pmalek/.config/nvim/plugged/vim-startify/plugin/startify.vim 294.313 002.459 002.459: sourcing /home/pmalek/.config/nvim/plugged/a.vim/plugin/a.vim 295.040 000.601 000.601: sourcing /home/pmalek/.config/nvim/plugged/vim-angry/plugin/angry.vim 295.615 000.391 000.391: sourcing /home/pmalek/.config/nvim/plugged/vim-autoformat/plugin/autoformat.vim 297.203 001.551 001.551: sourcing /home/pmalek/.config/nvim/plugged/vim-autoformat/plugin/defaults.vim 297.355 000.061 000.061: sourcing /home/pmalek/.config/nvim/plugged/vim-autoformat/plugin/utils.vim 297.921 000.429 000.429: sourcing /home/pmalek/.config/nvim/plugged/neomake/plugin/neomake.vim 299.312 001.276 001.276: sourcing /home/pmalek/.config/nvim/plugged/Mark--Karkat/plugin/mark.vim 299.829 000.033 000.033: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/autoloclist.vim 299.883 000.023 000.023: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/balloons.vim 299.927 000.020 000.020: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/checker.vim 299.999 000.025 000.025: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/cursor.vim 300.046 000.021 000.021: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/highlighting.vim 300.088 000.019 000.019: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/loclist.vim 300.131 000.019 000.019: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/modemap.vim 300.172 000.019 000.019: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/notifiers.vim 300.218 000.024 000.024: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/registry.vim 300.260 000.020 000.020: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/signs.vim 301.798 000.951 000.951: sourcing /home/pmalek/.config/nvim/plugged/syntastic/autoload/syntastic/util.vim 308.219 000.119 000.119: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/autoloclist.vim 308.370 000.116 000.116: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/balloons.vim 308.735 000.338 000.338: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/checker.vim 308.934 000.171 000.171: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/cursor.vim 309.111 000.150 000.150: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/highlighting.vim 309.634 000.498 000.498: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/loclist.vim 309.823 000.160 000.160: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/modemap.vim 309.981 000.132 000.132: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/notifiers.vim 310.666 000.660 000.660: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/registry.vim 310.880 000.183 000.183: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic/signs.vim 312.547 012.265 008.785: sourcing /home/pmalek/.config/nvim/plugged/syntastic/plugin/syntastic.vim 313.257 000.588 000.588: sourcing /home/pmalek/.config/nvim/plugged/vim-move/plugin/move.vim 313.873 000.032 000.032: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/gui_shim.vim 314.443 000.540 000.540: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/gzip.vim 314.518 000.044 000.044: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/health.vim 314.660 000.118 000.118: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/man.vim 315.694 001.006 001.006: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/matchit.vim 316.119 000.390 000.390: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/matchparen.vim 317.287 001.127 001.127: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/netrwPlugin.vim 318.640 000.318 000.318: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/remote/define.vim 318.849 001.123 000.805: sourcing /home/pmalek/.local/share/nvim/rplugin.vim 318.863 001.526 000.403: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/rplugin.vim 318.936 000.034 000.034: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/rrhelper.vim 319.166 000.197 000.197: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/shada.vim 319.271 000.063 000.063: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/spellfile.vim 319.696 000.335 000.335: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/tarPlugin.vim 319.966 000.226 000.226: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/tohtml.vim 320.065 000.057 000.057: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/tutor.vim 320.514 000.407 000.407: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/plugin/zipPlugin.vim 320.529 005.874: loading plugins 320.661 000.132: loading packages 321.119 000.262 000.262: sourcing /home/pmalek/.config/nvim/plugged/ultisnips/after/plugin/UltiSnips_after.vim 321.151 000.228: loading after plugins 321.175 000.023: inits 3 328.306 007.132: reading ShaDa 329.683 001.377: clearing screen 336.982 000.575 000.575: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/ftplugin/vim.vim 338.094 000.190 000.190: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/indent/vim.vim 350.412 002.808 002.808: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/lua.vim 352.233 001.152 001.152: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/pod.vim 358.671 007.980 006.828: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/perl.vim 366.592 007.644 007.644: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/ruby.vim 372.829 005.974 005.974: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/python.vim 376.004 037.015 012.610: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/vim.vim 378.696 002.601 002.601: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/syntax/vim/generated.vim 379.359 000.350 000.350: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions.vim 379.603 000.084 000.084: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim 379.880 000.064 000.064: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/netrw.vim 380.191 000.107 000.107: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/ctrlp.vim 380.528 000.123 000.123: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/hunks.vim 380.820 000.105 000.105: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tagbar.vim 381.376 000.329 000.329: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/branch.vim 381.749 000.087 000.087: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/syntastic.vim 382.137 000.176 000.176: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/whitespace.vim 382.441 000.077 000.077: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/neomake.vim 382.735 000.067 000.067: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/po.vim 382.962 000.074 000.074: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim 383.369 000.219 000.219: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline.vim 383.606 000.091 000.091: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/autoshow.vim 384.068 000.175 000.175: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/tabs.vim 384.496 000.267 000.267: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buffers.vim 384.859 000.195 000.195: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim 385.192 000.048 000.048: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/keymap.vim 389.498 000.115 000.115: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/section.vim 390.030 000.273 000.273: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/highlighter.vim 394.504 000.079 000.079: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/themes.vim 394.830 000.539 000.460: sourcing /home/pmalek/.config/nvim/plugged/vim-airline-themes/autoload/airline/themes/powerlineish.vim 409.200 000.128 000.128: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/util.vim 418.639 000.172 000.172: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/builder.vim 419.213 000.129 000.129: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/default.vim 442.108 000.199 000.199: sourcing /home/pmalek/.config/nvim/plugged/ctrlp.vim/autoload/ctrlp/utils.vim 447.375 000.530 000.530: sourcing /home/pmalek/.config/nvim/plugged/syntastic/autoload/syntastic/log.vim 447.494 072.709: opening buffers 448.589 000.372 000.372: sourcing /home/pmalek/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter.vim 449.404 000.487 000.487: sourcing /home/pmalek/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/utility.vim 450.147 000.252 000.252: sourcing /home/pmalek/.config/nvim/plugged/vim-gitgutter/autoload/gitgutter/hunk.vim 454.953 006.348: BufEnter autocommands 454.963 000.009: editing files in windows 456.724 001.295 001.295: sourcing /home/pmalek/.config/nvim/plugged/YouCompleteMe/autoload/youcompleteme.vim 599.915 000.190 000.190: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider.vim 648.305 191.857: VimEnter autocommands 2663.802 2014.978 2014.978: sourcing /home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider/clipboard.vim 2663.831 000.548: before starting main loop 2668.143 003.655 003.655: sourcing /home/pmalek/.config/nvim/plugged/neomake/autoload/neomake.vim 2673.295 000.113 000.113: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/buflist.vim 2673.918 000.164 000.164: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim 2710.752 000.347 000.347: sourcing /home/pmalek/.config/nvim/plugged/vim-airline/autoload/airline/async.vim 2717.882 003.384 003.384: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar.vim 2718.393 000.131 000.131: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/debug.vim 2735.340 000.578 000.578: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/types/ctags.vim 2735.742 000.076 000.076: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/prototypes/typeinfo.vim 2750.449 000.181 000.181: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/prototypes/fileinfo.vim 2765.710 000.395 000.395: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/prototypes/basetag.vim 2765.899 001.049 000.654: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/prototypes/normaltag.vim 2811.382 000.132 000.132: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/prototypes/kindheadertag.vim 2813.851 000.100 000.100: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/sorting.vim 2817.099 000.114 000.114: sourcing /home/pmalek/.config/nvim/plugged/tagbar/autoload/tagbar/state.vim 2819.070 000.179 000.179: sourcing /home/pmalek/.config/nvim/plugged/neomake/autoload/neomake/statusline.vim 2826.558 152.525: first screen update 2826.565 000.007: --- NVIM STARTED ---


After removing `/home/pmalek/bin/nvim/share/nvim/runtime/autoload/provider/clipboard.vim` it starts fast as before.

`nvim -u NONE` works fast as expected.

In `:CheckHealth` I can observe that my clipboard tool is set to `tmux` - which I'm using with neovim all the time. Is that ok? I use tmux 2.5 ( I tried master with the same effect)

`:CheckHealth`

health#deoplete#check

deoplete.nvim

health#nvim#check

Configuration

Performance

Remote Plugins

terminal

tmux

health#provider#check

Clipboard (optional)

Python 2 provider (optional)

Python 3 provider (optional)

Ruby provider (optional)

Expected behaviour

Fast startup.

justinmk commented 7 years ago

@pmalek could you try this:

nvim --cmd 'profile start profile.txt' --cmd 'profile func *'

Then :q and post profile.txt to a gist.

TERM: screen-256color

Should be putty-256color, see :h $TERM. (unrelated to this issue)

pmalek commented 7 years ago

Couldn't fit the whole profile in here: https://pastebin.com/4uPkPdcL I can see that the clipboard provider is taking most of the time

Regarding the TERM: setting it to putty-256color didn't change anything.

justinmk commented 7 years ago

Looks like s:cmd_ok('xsel -o -b') is the problem.

FUNCTION  <SNR>136_cmd_ok()
Called 1 time
Total time:   2.012136
 Self time:   2.012136

count  total (s)   self (s)
    1              2.012101   call system(a:cmd)

A workaround would be to force xclip (assuming you have it installed) by setting g:clipboard:

    let g:clipboard = {
          \   'name': 'xclip-custom',
          \   'copy': {
          \      '+': 'xclip -quiet -i -selection clipboard',
          \      '*': 'xclip -quiet -i -selection primary',
          \    },
          \   'paste': {
          \      '+': 'xclip -o -selection clipboard',
          \      '*': 'xclip -o -selection primary',
          \   },
          \ }

Regarding the TERM: setting it to putty-256color didn't change anything.

That suggestion isn't related to this issue, it will optimize terminal behavior, e.g. with scrolling.

pmalek commented 7 years ago

Seems like removing xsel and installing xclip worked. Thanks :)

cyansprite commented 6 years ago

Just out of curiosity, if you use ( using the correct path to xsel or just xsel if it's where it should be )

let g:clipboard = {
        \   'name': 'xsel - bin',
        \   'copy': {
        \      '+': $HOME.'/bin/xsel -i -b',
        \      '*': $HOME.'/bin/xsel -i -p',
        \    },
        \   'paste': {
        \      '+': $HOME.'/bin/xsel -b',
        \      '*': $HOME.'/bin/xsel -p',
        \   },
        \   'cache_enabled': 0,
\ }

is it still slow?

pmalek commented 6 years ago

To be honest I don't see this issue anymore. I compile and install neovim from sources every couple of days and this seemed to magically go away :)

justinmk commented 5 years ago

4150 swapped the order to prefer xsel but I can't find an explanation.

this seemed to magically go away

Possibly you had an invalid $DISPLAY which xsel tried to connect and the timeout caused the delay.

Let's trying preferring xclip again.