# zsh 시작이 오래 걸리는 문제가 있다.
# zprof(bulitin) 모듈을 추가해 zsh 시작을 프로파일링 해보자.
# ~/.zshrc 첫번째 라인zmodload zsh/zprof
# ~/.zshrc 마지막 라인
zprof
# 이제 zsh 를 시작하면 다음과 같이 처리시간이 큰 커맨드를 확인할 수 있다.
zsh
num calls time self name
-----------------------------------------------------------------------------------
1) 1 1413.91 1413.91 93.77% 532.48 532.48 35.31% nvm_auto
2) 2 881.44 440.72 58.45% 468.15 234.08 31.05% nvm
3) 1 349.74 349.74 23.19% 309.31 309.31 20.51% nvm_ensure_version_installed
4) 1 63.34 63.34 4.20% 49.80 49.80 3.30% nvm_die_on_prefix
5) 5 92.76 18.55 6.15% 41.40 8.28 2.75% pmodload
6) 1 40.43 40.43 2.68% 40.43 40.43 2.68% nvm_is_version_installed
7) 1 15.33 15.33 1.02% 15.33 15.33 1.02% compinit
8) 1 13.19 13.19 0.87% 13.19 13.19 0.87% nvm_grep
9) 1 9.20 9.20 0.61% 9.00 9.00 0.60% _zsh_highlight_load_highlighters
10) 2 7.27 3.63 0.48% 7.27 3.63 0.48% promptinit
11) 2 11.93 5.97 0.79% 6.86 3.43 0.45% prompt_sorin_ysoftman_setup
# nvm.sh 의 nvm_auto(), nvm(), nvm_ensure_versin_installed() 이 오래걸린다는걸 알 수 있다.
# --no-use 를 옵션을 사용해 로딩하면 nvm 명령은 사용할 수 있지만 새로운 쉘 시작시 항상 system node 가 되어
# 특정 node 버전이 필요한 경우 nvm use v{버전} 으로 변경해야 하는 수고가 있다.
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" --no-use