pyenv/libexec
Daniel Hahler 44c20af80e Optimize pyenv-which: implement remove_from_path in Bash
This greatly improves the performance of `pyenv virtualenvwrapper_lazy`,
which happens to call pyenv-which a lot.

For profiling I've initially used:

    % zmodload zsh/zprof
    % eval "$(pyenv init -)"
    % pyenv virtualenvwrapper_lazy

    Before:
    % zprof|grep -E '(pyenv|virtualenv)'
     1)    1         754,07   754,07   58,95%    751,50   751,50   58,75%  pyenv
    21)    1           2,57     2,57    0,20%      2,57     2,57    0,20%  virtualenvwrapper_setup_lazy_loader
     1)    1         754,07   754,07   58,95%    751,50   751,50   58,75%  pyenv
           1/1         2,57     2,57    0,20%      2,57     2,57             virtualenvwrapper_setup_lazy_loader [21]
           1/1         2,57     2,57    0,20%      2,57     2,57             pyenv [1]
    21)    1           2,57     2,57    0,20%      2,57     2,57    0,20%  virtualenvwrapper_setup_lazy_loader

    After:
    % zprof|grep -E '(pyenv|virtualenv)'
     1)    1         383,30   383,30   27,97%    380,88   380,88   27,79%  pyenv
    31)    1           2,42     2,42    0,18%      2,42     2,42    0,18%  virtualenvwrapper_setup_lazy_loader
     1)    1         383,30   383,30   27,97%    380,88   380,88   27,79%  pyenv
           1/1         2,42     2,42    0,18%      2,42     2,42             virtualenvwrapper_setup_lazy_loader [31]
           1/1         2,42     2,42    0,18%      2,42     2,42             pyenv [1]
    31)    1           2,42     2,42    0,18%      2,42     2,42    0,18%  virtualenvwrapper_setup_lazy_loader

Fixes https://github.com/yyuu/pyenv-virtualenvwrapper/issues/13
2014-03-13 19:21:32 +01:00
..
pyenv Unset GREP_OPTIONS to avoid unexpected grep behavior (fixes #101) 2014-01-23 11:11:56 +09:00
pyenv---version v0.4.0-20140311 2014-03-11 11:55:44 +09:00
pyenv-commands Import recent changes relating to fish from rbenv 2013-09-30 18:02:12 +09:00
pyenv-completions Import changes from recent rbenv 2014-01-03 04:58:44 +09:00
pyenv-exec Set PYENV_BIN_PATH in PATH even if the version is system (fixes #98) 2014-01-15 16:41:06 +09:00
pyenv-global Preserve original IFSs 2013-08-15 22:29:47 +09:00
pyenv-help Import recent changes relating to fish from rbenv 2013-09-30 18:02:12 +09:00
pyenv-hooks Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-init Import changes from recent rbenv 2014-01-03 04:58:44 +09:00
pyenv-local Fix broken tests 2014-01-03 04:33:30 +09:00
pyenv-prefix Fix broken tests 2014-01-03 04:33:30 +09:00
pyenv-rehash Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-root import rbenv-help from rbenv 0.4.0 2013-01-18 19:09:56 +09:00
pyenv-sh-rehash Reliably detect parent shell in pyenv init (fixes #93) 2013-12-26 13:48:43 +09:00
pyenv-sh-shell Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-shims Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-version Preserve original IFSs 2013-08-15 22:29:47 +09:00
pyenv-version-file simplicy the check for infinite loop 2014-01-08 10:54:11 +09:00
pyenv-version-file-read Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-version-file-write Fix broken tests 2014-01-03 04:33:30 +09:00
pyenv-version-name Fix broken tests 2014-01-03 04:33:30 +09:00
pyenv-version-origin import rbenv-help from rbenv 0.4.0 2013-01-18 19:09:56 +09:00
pyenv-versions Import recent changes from rbenv 0.4.0 2014-01-02 22:45:02 +09:00
pyenv-whence import rbenv-help from rbenv 0.4.0 2013-01-18 19:09:56 +09:00
pyenv-which Optimize pyenv-which: implement remove_from_path in Bash 2014-03-13 19:21:32 +01:00