それでも気分は高専生

元高専生が自分のやってきたことを記事として残すためのてきとーなブログ

zshの実行に遅延が生じるようになった件

tl;dr

vcs_infoをonにしていると,大きいリポジトリで情報を集めるのに時間がかかる

現象

  • 突然zshが重くなった
  • 何も実行しなくても,プロンプトの次行表示までに時間がかかる
  • 起動時の遅延はほとんどなし
  • Ctrl + Cで待ち時間がキャンセル可能
  • cdをしたあとの待ち時間でCtrl + Cでキャンセルすると,プロンプトのカレントディレクトリ表示が更新されない
  • ホームディレクトリの遅延はほぼなし

f:id:takahiro0914:20180922005144p:plain

調査

  • 実行時間を調べる
  • zshやkonsoleのアップデート
  • preztoの無効化
    → どれも効果なし

特定のgitリポジトリでのみ極端な遅延が生じることが判明

原因

  • 作業リポジトリで大きなサイズのデータを管理していた
  • vcs_infoが毎回差分チェックをしているため,チェックに時間がかかったのではないか

感想

zshを実行するたびに待ち時間が生じるの辛い.