Блог Половнёва

Тормоза mc на m1, zsh и nvm

Я не бросил часть линуксовых привычек после перехода на Мак. Поэтому до сих пор для работы с папками и файлами использую консоль и легендарный Midnight Commander.

С переходом на M1 старый добрый mc стал ощутимо тормозить при старте. Дело оказалось в сабшелле: если запускать mc без него, он стартует за миллисекунды. Перетянул проблему жгутом, добавив алиас:

alias mc='mc --nosubshell'

Если тупит сабшелл, значит, медленно стартует zsh. Чтобы понять, почему он тупит, попрофилировал его: добавил zmodload zsh/zprof в начало и zprof в конец .zshrc. И вот, что я увидел (спойлер: главная причина тормозов — nvm):

Выкидываю nvm и zsh стартует в 3,5 раза быстрее. Было:

zsh -i -c exit  0.21s user 0.33s system 98% cpu 0.549 total (549 мс)

Стало:

zsh -i -c exit  0.06s user 0.08s system 92% cpu 0.153 total (153 мс)

Мораль: если тормозит mc, не факт, что он и виноват. А вместо nvm я взял fnm.

P. S. Ещё больше постов о программировании, тестах и культуре разработки у меня в Телеграме.