Czas spędzony na optymalizacji czasu uruchamiania będzie prawdopodobnie dłuższy niż cały dodatkowy czas, który w innym przypadku czekałby na uruchomienie Emacsa.
W tej chwili require
wykonuję 25 wywołań w moim pliku init, aby Flycheck mógł znaleźć błędy ortograficzne w moim kodzie. Mój czas uruchamiania to ...
$ time emacs --eval '(save-buffers-kill-terminal)'
real 0m2.776s
user 0m2.305s
sys 0m0.148s
Ponadto, w moim systemie, time emacs -Q --eval '(save-buffers-kill-terminal)'
ma real
od 0m0.404s
. Teoretycznie maksymalny czas, jaki mogę zaoszczędzić, to 2,3 sekundy.
Powiedz, że spędzam godzinę na optymalizacji całego pliku init. (Nie liczę dodatkowych 15-30 minut spędzonych w późniejszym terminie, próbując dowiedzieć się, dlaczego moje zmiany nie obowiązywały z powodu skompilowania mojego pliku init.) (Nie liczę też czasu, w którym Flycheck uratowałby mnie w debugerze, gdybym nie usunął require
połączeń.) Są 3600 sekund na godzinę, więc jeśli uda mi się zaoszczędzić całe 2,3 sekundy, moja inwestycja w czas zwróci się dopiero po 1565 uruchomieniach.
Zakładając, że restartowałem Emacsa 3 razy dziennie, każdego dnia potrzeba półtora roku, aby inwestycja się zwróciła. Gdybym pozostawił tę samą instancję Emacsa działającą przez kilka dni (tak jak często to robię), prawdopodobnie uruchomiłbym tylko 2-5 razy w tygodniu, w którym to przypadku zwrot inwestycji trwałby od 6 do 15 lat.
Jestem hojny, ponieważ prawdopodobnie spędzisz ponad godzinę optymalizując swój start i prawdopodobnie nie zaoszczędzisz maksymalnej teoretycznej liczby sekund.