zshの起動にかかる時間を短縮した

zshの起動時間

短縮しました

とりあえず

最初の起動時間がこんなかんじ

gyazo.com

いやあ,遅いですね…

ちなみにtime (zsh -i -c exit)とすれば計測ができます.

まずプロファイリングだ

yukidarake.hateblo.jp

この記事に従って設定して,ボトルネックになってる部分を確かめたところ,以下のようになりました.

gyazo.com

画像見る限り:

  • Virtualenvwrapper
  • compinit
  • zplug

が時間を食ってるらしいということがわかりました.

それでは直していきましょう.

Virtualenvwrapper

公式サイトを眺めたところ,lazy loadingを設定すれば起動時間を短縮できるらしいので,そのようにしました.

具体的には: source /usr/local/bin/virtualenvwrapper.shの代わりにsource /usr/local/bin/virtualenvwrapper_lazy.shを設定しました.

この設定を使う場合,起動時にのみ仮想環境名の補完が効かないなどの問題が出てくるらしいですが,仕方ないですね.

compinit

compinit -cを設定しました.

zplug

これはzplugが悪いというよりも,zplugでロードしているoh-my-zshのthemeが悪いと思われます.

なので,oh-my-zshを完全に諦めて,新しいthemeを使うようにしました.

github.com

非常にシンプルかつかわいいかつ必要十分なのでこれでいいと思います.

これらの設定をした結果

gyazo.com

やったぜ.