Время, которое вы тратите на оптимизацию времени запуска, вероятно, будет больше, чем все дополнительное время, которое вы ожидали бы при запуске Emacs.
На данный момент я делаю 25 require
вызовов в моем файле инициализации, чтобы Flycheck мог найти орфографические ошибки в моем коде. Мое время запуска ...
$ time emacs --eval '(save-buffers-kill-terminal)'
real 0m2.776s
user 0m2.305s
sys 0m0.148s
Кроме того, в моей системе time emacs -Q --eval '(save-buffers-kill-terminal)'
есть real
из 0m0.404s
. Теоретическое максимальное количество времени, которое я могу сэкономить, составляет 2,3 секунды.
Скажем, я потратил час на внесение изменений в мой файл инициализации. (Я не буду считать дополнительные 15-30 минут, потраченные на более позднюю дату, пытаясь выяснить, почему мои изменения не вступили в силу из-за того, что мой файл инициализации был побитно скомпилирован.) (Я также не буду считать время, которое Flycheck спас бы меня в отладчике, если бы я не удалял require
вызовы.) В часе 3600 секунд, поэтому, если бы мне удалось сэкономить все 2,3 секунды, мои затраты на время окупились бы только после 1565 запусков.
Предполагая, что я перезапускаю Emacs 3 раза в день, каждый день, чтобы эти инвестиции окупились, понадобится полтора года. Если бы я оставлял один и тот же экземпляр Emacs на несколько дней подряд (как я это часто делаю), я бы, вероятно, перезапускал только 2-5 раз в неделю, и в этом случае эти инвестиции окупились бы от 6 до 15 лет.
Я щедрый, потому что вы, скорее всего, потратите больше часа на оптимизацию своего стартапа, и вы, вероятно, не сэкономите максимальное теоретическое количество секунд.