Profiling zsh and fixing my slow shell

Ellie Huxtable

zshをプロファイリングして、遅いシェルを直す

しばらく前から、私のzshは起動が少し遅い状態でした。大きなストレスになるほどでは決してありませんが、ずっとそのうち何とかしようと思っていたことの一つです。Thorsten Ballがこの件について素晴らしい記事を書いています。こちらです。もしかすると、靴に重りを入れたまま長く歩きすぎていたのかもしれません!

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

やったことは次のとおりです。

  1. zmodload zsh/zprof.zshrcの先頭にぶち込む
  2. 同じファイルの末尾にzprofを置く

新しいシェルを開くと、zshがどこで時間を使っているのかを示す、見やすい表が表示されます。

ここでnvmが原因なのは明らかですね! 少しGoogleで調べてみると、どうやらこれに気づくのは私が最後のほうだったようです。しまった。

修正する

nvmはそこそこ頻繁に使うので、直してみましょう。

遅延読み込み

zsh-lazyloadを使うと、コマンドを遅延読み込みできます! つまり、実際にnvmを使うときだけ、nvmの起動コストを負担すればよくなります。悪くないですね。

READMEの手順どおりにプラグインをインストールして(私はzplugを使いました)、.zshrcに次のように書きます。

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

これで完了です!

置き換え

最近は、ほかにもいくつか選択肢があります。asdfmiseを使うことも検討していますが、どちらが自分に合うのか、まだ調べて決めるところまで手が回っていません。

原文は Ellie Huxtable により に公開されました。

この記事は「gpt-5.6-terra」を使用して翻訳されました。