zsh 프로파일링과 느린 셸 고치기
내 zsh는 한동안 시작이 조금 느렸다. 심각하게 거슬릴 정도는 아니었지만, 언젠가는 손봐야지 하며 계속 미뤄 온 문제였다. Thorsten Ball이 이 주제로 훌륭한 글을 쓴 적이 있는데 여기에서 볼 수 있다. 어쩌면 너무 오랫동안 발에 모래주머니를 차고 달려온 셈인지도 모른다!
최근에는 atuin init 명령어를 만지작거리고 있다. 이 명령어는 셸 시작 시 실행된다. 최대한 빠르게 유지해서 누구에게도 느린 셸을 안겨주지 않고 싶다.
내가 한 일은 다음과 같다:
.zshrc맨 위에zmodload zsh/zprof를 추가하기- 같은 파일 맨 아래에
zprof를 추가하기
새 셸을 열면 zsh가 어디서 시간을 쓰고 있는지 보여주는 깔끔한 표가 나타난다.

범인이 nvm이라는 건 너무나 분명하다! 조금 검색해 보니 이제야 이걸 깨달은 게 나뿐만은 아닌 것 같지만, 아무래도 내가 가장 늦게 알아차린 축에 속하는 것 같다. 이런.
고쳐 보기
nvm을 꽤 자주 쓰는 편이라 제대로 고쳐 보기로 했다.
지연 로딩
zsh-lazyload를 사용하면 명령어를 지연 로딩할 수 있다! 이렇게 하면 실제로 nvm을 사용할 때만 느려지는 비용을 치르면 된다. 나쁘지 않다.
리드미대로 플러그인을 설치하고(나는 zplug를 사용했다), 그 다음
lazyload nvm -- 'source ~/.nvm/nvm.sh'를 내 .zshrc에 추가하면 된다. 끝!
대체재
요즘은 다른 선택지도 꽤 많다. asdf나 mise를 써 볼까 고민 중이지만, 아직 뭐가 내게 가장 잘 맞을지 알아볼 시간을 내지 못했다.
글을 무작위로 읽기