Подтвердить что ты не робот

Как я могу отлаживать медленное время запуска Emacs?

Недавно у меня появился новый Retina MacBook Pro с Mountain Lion. К сожалению, emacs навсегда заходит на запуск (около 5 секунд) на моем новом компьютере. Я попытался установить последнюю версию emacs homebrew, но проблема не устранена. У меня нет файла .emacs, поэтому я не знаю, что может вызвать медленный запуск.

Какие инструменты у меня есть в моем распоряжении для отладки, когда emacs тратит свое время во время запуска?

4b9b3361

Ответ 1

Похоже, вам нужно иметь полное доменное имя для имени вашего компьютера (например, myretina.local); в противном случае Emacs начнет медленно.

Вы можете проверить свое имя хоста через терминал с помощью

hostname

и вы можете установить его с помощью

sudo scutil --set HostName myretina.local

Ответ 2

Для начала запустите emacs -Q (который запустит Emacs без файлов запуска вообще) и посмотрите, все еще медленнее.

Вы можете прочитать следующее, в котором объясняются все возможные файлы, которые Emacs будет искать по умолчанию:

C-h i g (emacs) Init File RET

Ответ 3

Изменение имени хоста ничего не сделало для меня. То, что творит чудеса для меня, кажется противоположным интуитивным, но теперь мои emacs начинают мгновенно с терминала. Это то, что я сделал

alias emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --debug-init

Однако для начала работы с графическим интерфейсом все еще требуется несколько секунд, иногда даже 15 секунд. Weird!

Ответ 4

Emacs должен запускаться мгновенно в вашей настройке

Mac build (из источников)

% time /Applications/Emacs.app/Contents/MacOS/Emacs --debug-init -eval '(kill-emacs)' -Q
/Applications/Emacs.app/Contents/MacOS/Emacs --debug-init -eval '(kill-emacs)  0.19s user 0.06s system 35% cpu 0.696 total

NS build, загруженный с emacsformacosx.com

% time /Volumes/Emacs/Emacs.app/Contents/MacOS/Emacs --debug-init -eval '(kill-emacs)' -Q
/Volumes/Emacs/Emacs.app/Contents/MacOS/Emacs --debug-init -eval  -Q  0.17s user 0.08s system 35% cpu 0.691 total

Я не использую homebrew для Emacs, но он должен быть похож. Вы уверены, что не загружаете нестандартные пакеты каким-то образом?

Ответ 5

Там действительно что-то полностью сломано с emacs. Если nameservice происходит сбой или маршрутизация не работает, или ваш туннель vpn выключен и т.д.

Для нас системные администраторы, начиная с vi, всегда являются опцией:

# time emacs -debug-init -eval '(kill-emacs)' -Q

real    2m5.177s
user    0m0.029s
sys     0m0.024s

В это время vpnc умер и вызвал некоторые проблемы (маршрутизация и nameservice). Обратите внимание на 2 минуты!

Спустя 30 лет использование emacs все еще не понимает, почему действительно нужно решить ваше имя хоста. Для блокировки файлов есть лучшие альтернативы, чем это.

Управление сотнями/тысячами машин и виртуальных машин и настройка отдельных файлов хостов на самом деле не является ответом. Вручную потребуется несколько дней/недель и автоматически генерировать. Это действительно так же хорошо, как ничего.