Shougo / neocomplcache.vim

Ultimate auto-completion system for Vim.
http://www.vim.org/scripts/script.php?script_id=2620
1.72k stars 135 forks source link

why not python interface ? #400

Closed kikyous closed 11 years ago

kikyous commented 11 years ago

in vim version 7.4, python interface will be improved. and now python interface is widly used . so,why not using python interface ?

reason of speed or any other?

ujihisa commented 11 years ago

https://github.com/vim-jp/issues/issues/48#issuecomment-15354088

n = 25 Vim Language -> 1.956016 if_lua -> 0.026156 if_python -> 0.053765

if_lua was twice as fast as if_python

Shougo commented 11 years ago

Thanks ujihisa.

in vim version 7.4, python interface will be improved. and now python interface is widly used . so,why not using python interface ? reason of speed or any other?

Please read in FAQ section.

Because:

  1. Python interface is not available in every Vim environment. For example, Android, iOS, non configured Vim,...
  2. Incompatibility with Python2 and Python3. I must rewrite for it.
  3. Loading Python interface is slow(10~20ms). But loading Lua interface is too fast(270ns).
  4. Python2 and Python3 is not loaded at same time in Unix environment.
  5. Python is too big.
  6. Python interface is slow than Lua interface(almost twice).
  7. Lua interface is stable(no crashed in latest Vim).
  8. Using C module(like vimproc, YouCompleteMe) is hard to compile in Windows environment.
  9. Using both Python and C like YouCompleteMe is too unstable. Your Vim may be crash or happen a mysterious error.
  10. To build if_lua is easy.
  11. I think if_lua is the second level language in Vim(The first is Vim script).
pluskid commented 10 years ago

I found vim crashed a lot when I'm not using it, after I installed neocomplete with if_lua enabled. And then I found there bug report: https://code.google.com/p/vim/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=267