Help us understand the problem. What is going on with this article?

zshのプラグインマネージャーを外したら10倍以上起動が高速化した話

More than 3 years have passed since last update.

問題

zshのプラグインマネージャーにantigenを使っていました。
が、いつの間にか信じられないぐらい起動が遅くなっていました。

解決

ghqによってプラグインをインストールし、zshrcではsourceするだけの方式を採用しました。

GHQ=$HOME/src/github.com
source $GHQ/robbyrussell/oh-my-zsh/lib/completion.zsh
source $GHQ/rupa/z/z.sh
source $GHQ/zsh-users/zsh-autosuggestions/zsh-autosuggestions.zsh
source $GHQ/zsh-users/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

zshのプラグインなんて山のように入れてるわけではないので、起動を遅くするだけのプラグインマネージャーの出番は不要というわけです。いわゆるそれghqでいいよね案件です。

ghqについては、ghqを使ったローカルリポジトリの統一的・効率的な管理について - Kentaro Kuribayashi's blogが素晴らしくまとまっているので参照してください。

計測

さて、どのくらい高速化したかというと。

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  1.45s user 0.80s system 103% cpu 2.175 total

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  1.48s user 0.82s system 102% cpu 2.242 total

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  1.46s user 0.82s system 103% cpu 2.204 total

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  0.09s user 0.09s system 99% cpu 0.186 total

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  0.10s user 0.09s system 97% cpu 0.195 total

$ time ( zsh -i -c exit )
( zsh -i -c exit; )  0.09s user 0.09s system 100% cpu 0.181 total

起動時間が0.2秒を切るぐらいになり、だいたい11倍くらい高速化しました。

終わりに

なんとなくイケてるからとプラグインマネージャーを使っていましが、トレードオフをちゃんと考える必要がありますね。

参考

akameco
シュレーディンガーの社会人.js
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away