Profiling zsh and fixing my slow shell

Ellie Huxtable

zshをプロファイリングして遅いシェルを修正する

原文は Ellie Huxtable により に公開されました。 このブログを購読する

しばらく前からzshの起動がちょっと遅くなっていた。そこまで深刻に困るほどではないが、ずっとそのうち何とかしなければと思っていた。Thorsten Ballがこの件について素晴らしい記事をこちらに書いている。ずっと靴におもりをつけたまま走っていたのかもしれない!

最近、atuin initコマンドをいじっていた。これはシェル起動時に実行されるものだ。高速であることを確認したいし、誰のシェルも遅くしたくない。

やったことは次のとおりだ。

  1. .zshrcの先頭にzmodload zsh/zprofを追加する
  2. 同じファイルの末尾にzprofを追加する

新しいシェルを開くと、zshがどこで時間を使っているかを示す便利なテーブルが表示される。

犯人はnvmだというのは一目瞭然だ!ちょっとググってみると、これに気づいたのは自分が最後のほうだったようだ。お恥ずかしい。

修正する

nvmはそれなりに頻繁に使っているので、ちゃんと直すことにした。

遅延読み込み

zsh-lazyloadを使えばコマンドを遅延読み込みできる!これで、実際にnvmを使うときだけ遅いnvmのコストを払えば済む。悪くない。

READMEの手順に従ってプラグインをインストールし(自分はzplugを使った)、それから

lazyload nvm -- 'source ~/.nvm/nvm.sh'

.zshrcに追記する。これで完了だ!

代替手段

最近は他にもいろいろな選択肢がある。asdfmiseを使ってみようか迷っているが、自分にどれが一番合うかはまだ検討できていない。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント