why not python interface ? #400

Closed
kikyous opened this Issue May 11, 2013 · 3 comments

Projects

None yet

4 participants

@kikyous
kikyous commented May 11, 2013

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
Collaborator
ujihisa commented May 11, 2013

vim-jp/issues#48 (comment)

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

if_lua was twice as fast as if_python

@Shougo
Owner
Shougo commented May 11, 2013

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).
@Shougo Shougo closed this May 11, 2013
@pluskid
pluskid commented Oct 31, 2014

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment