Closed meribold closed 7 years ago
Jeez, I can't believe I wasn't notified for this. Thanks for the issue, my vim is slow as well, I would hate it if this plugin was the reason. Will investigate.
Can you post your configuration? Mine takes 50 ms (it shouldn't really be doing anything on startup other than load a few Python packages).
I still have the same issue with a minimal vimrc:
call plug#begin('~/.vim/plugged')
Plug 'skorokithakis/pastery.vim'
call plug#end()
Output from vim -u pastery-only-vimrc --startuptime vim-startuptime.txt
:
...
102.477 000.129: sourcing vimrc file(s)
492.817 390.071 390.071: sourcing /home/casi/.vim/plugged/pastery.vim/plugin/pastery.vim
506.249 013.073 013.073: sourcing /usr/share/vim/vimfiles/plugin/notmuch.vim
...
In my actual configuration I work around the problem with on-demand loading:
Plug 'skorokithakis/pastery.vim', { 'on': ['PasteCode', 'PasteFile'] }
Hmm, could it be an issue with the way Plug loads things? Mine is quite a bit faster, I can't reproduce the problem :/
030.911 000.088: sourcing vimrc file(s)
114.063 083.046 083.046: sourcing /home/stavros/.vim/bundle/pastery.vim/plugin/pastery.vim
I'm on a pretty slow laptop (AMD E-450: 1650 MHz dual-core) which might explain the difference.
80 ms is still longer than most Vim plugins take, though. Maybe this can be solved with autoloading?
Does it help if you move the imports inside the PasteryPaste
function, like so?
def PasteryPaste(start=None, end=None, title=""):
import vim
import json
import webbrowser
try:
from urllib.request import urlopen, Request, build_opener
from urllib.parse import quote_plus
except ImportError:
from urllib2 import urlopen, Request, build_opener
from urllib import quote_plus
if start is None:
start = 1
if end is None:
end = len(vim.current.buffer)
api_key = vim.eval("g:pastery_apikey")
open_in_browser = to_bool(vim.eval("g:pastery_open_in_browser"))
2159cb3e3867faa2abaef1514cfa68851895aed3 should have fixed this, I now get load times of less than one ms. Please reopen if that's not the case (but do tell me if this did fix it).
I get 140 ms now (on my laptop). I'll measure it on my desktop as well later.
pastery.vim takes almost 500 milliseconds to load on my system. That's about half of Vim's total startup time.
Here's the output I get when starting vim with
--startuptime
: