zshの設定を何も考えずに育てていくと、どんどん起動が遅くなっていくことがある。
最近遅いな、と思ったら、zprofでプロファイリングしてみよう。
まずは、zsh起動時に一番最初に読み込まれる ~/.zshenv の先頭に以下を追記して、zprofを実行。
.zshenv
zmodload zsh/zprof && zprof
次に、.zshrc の最後など、最も最後に実行される箇所に
.zshrc
if (which zprof > /dev/null) ;then
zprof | less
fi
などと記述しておく。 less でも cat でもお好みで。
後は、zshを起動するだけで、zprof によるプロファイリング結果が出力されるので、不要なものを削るなり、ボトルネックの改善を行うなり。
これを試した環境では compinit が圧倒的に処理時間が長かったため、
compinit -C
として、セキュリティチェックをスキップすることで高速化を試みるなどを行った。
追記
uu59@github さんからいただいたコメントにあるように、こちらのページで詳しく説明されてます。