
私はpreztoを使用していますが、zsh
新しいシェルを起動するのが少し遅いことがわかりました。 (注:私は設定を他の遅いシステムに移動する前に高速システムで最適化したいと思います。)
ベンチマークtime zsh -i -c exit
:
- 0.046
bash
:. - 0.080:
zsh
プレストはありません。 - 0.092:
zsh
preztoがありますが、モジュールがロードされませんでした。 - 0.138:
zsh
preztoを使用してcompletion
。 - 0.308:
zsh
preztoを使用し、すべての「基本」モジュールをロードします。
まず、ローディングzsh
よりbash
74%遅いです。 73%の追加速度低下(preztoおよび完了ローディングを除くすべてのモジュールを使用)に対応できますが、285%の速度低下(すべてのモジュールを使用)は少し高すぎます。
これらの完成のいくつかは役に立ちますそのうちのいくつかを選択的に無効にする方法はありますか?私はこれについて聞いたことがあります他の場所で、これがただタップ完了速度を上げるためのものなのか、シェルのロード速度を上げるためのものなのかはわかりません。 (オプションで完了を無効にできる場合は、速度低下の原因を分析して把握できます。)
答え1
preztoが/usr/lib/prezto/modules/completion
。すべてがアクティブな状態でコンテンツを削除しました/usr/lib/prezto/modules/completion/init.zsh
。その後、そのファイルから系統的に行を削除し始め、速度低下を引き起こす1行を分離することができました。
unsetopt CASE_GLOB
compinit
私の特別なケースでは、preztoが~/.zshrc
オフの状態で実行され、速度が遅くなり、compinit
ロード時間が3倍に増加したことに注意してください。