声明:zplugin 和 zplug 是 2 个不同的 ZSH 插件管理器,前者特色为其 Turbo Mode (实际为后台加载),后者以其极差的并行实现效率而闻名。
Zplugin 实现的Turbo Mode,实际为一种后台加载。目前看来,是高耗时启动(如 nvm,rbenv,pyenv )的真正解决方案。在 prompt 出现后,高耗时初始化代码可在后台加载,此时可以正常键入命令、执行。其后台加载的变动都会反映回当前 shell 下(如 PATH 变动,alias、function 创建)。效果参考下面 reddit 文章,37 个插件 150ms 启动( SSD 情况下),实际还有 900ms 花在后台。
相关插件管理器对比
zplugin 还是唯一一个对于插件管理器自身和所有插件都实现了 bytecode 编译的插件管理器。编译 .zsh 文件为字节码无疑可以加快启动速度。据我测试( SSD 情况下),zplugin 插件管理器编译前后有 20 ms 差别,我自己的所有配置编译前后也有 15 ms 变化。(所有插件编译前后效果不好统计,因为 zplugin 总是会对插件编译为字节码,没有办法禁止)
除此以外,zplugin 作者也是 ZSH 插件 fast-syntax-highlighting, history-search-multi-word 的作者,代码效率应该也有保障。
zplugin 特性简介: