Emacs/Optymalizacja

Oto kilka wskazówek dotyczących optymalizacji GNU Emacs:

  • Zwiększ próg wyrzucania elementów bezużytecznych: Domyślnie Emacs uruchamia wyrzucanie elementów bezużytecznych co 800 kilobajtów przydzielonej pamięci. Może to spowolnić Emacsa, szczególnie podczas pracy z dużymi plikami. Możesz zwiększyć próg wyrzucania elementów bezużytecznych, dodając następujący wiersz do pliku konfiguracyjnego Emacsa (~/.emacs lub ~/.emacs.d/init.el):
(setq gc-cons-threshold (* 100 1024 1024)) ;; set threshold to 100MB

Spowoduje to ustawienie progu wyrzucania elementów bezużytecznych na 100 megabajtów, co może znacznie zmniejszyć częstotliwość wyrzucania elementów bezużytecznych.

  • Wyłącz niepotrzebne tryby i pakiety: Jeśli nie używasz pewnych trybów lub pakietów, wyłączenie ich może skrócić czas uruchamiania Emacsa i zużycie pamięci. Możesz wyłączyć tryby i pakiety, komentując odpowiednie wiersze w pliku konfiguracyjnym Emacsa.
  • Użyj szybkiej czcionki: Emacs może działać wolno podczas wyświetlania czcionek, zwłaszcza jeśli używasz wolnej lub źle zoptymalizowanej czcionki. Użycie szybkiej czcionki może poprawić wydajność Emacsa. Niektóre zalecane czcionki to Inconsolata, DejaVu Sans Mono i Source Code Pro.
  • Użyj demona: Uruchomienie Emacsa jako demona może skrócić czas jego uruchamiania, ponieważ wystarczy go zainicjować tylko raz. Możesz uruchomić Emacsa jako demona, uruchamiając następujące polecenie:
emacs --daemon

Po uruchomieniu demona możesz połączyć się z nim za pomocą polecenia emacsclient.

  • Użyj nowszej wersji Emacsa: Nowsze wersje Emacsa często zawierają ulepszenia wydajności i poprawki błędów. Aktualizacja do najnowszej wersji Emacsa może poprawić jego wydajność.

To tylko kilka wskazówek dotyczących optymalizacji GNU Emacs. Istnieje wiele innych sposobów optymalizacji Emacsa, w zależności od konkretnych potrzeb i przypadków użycia.

można też dodać do autostartu (w przypadku linuksa z systemd:)

systemctl enable --user --now emacs.service

w razie niepowodzenia:

systemctl --user fail-reset emacs.service

Obsługa dużych plików edytuj

GNU Emacs ma wbudowaną obsługę edycji dużych plików, ale należy pamiętać o kilku kwestiach związanych z wydajnością.

Domyślnie Emacs ogranicza ilość pamięci, która może być wykorzystana na buforowanie danych. Można to dostosować, ustawiając zmienną „large-file-warning-threshold” na wyższą wartość. Na przykład, aby ustawić próg na 1 GB, możesz dodać następujące elementy do pliku konfiguracyjnego Emacsa:

(setq large-file-warning-threshold 1000000000)

Oprócz dostosowania progu pamięci istnieją inne wskazówki dotyczące poprawy wydajności Emacsa podczas pracy z dużymi plikami:

Wyłącz podświetlanie składni: podświetlanie składni może wymagać dużej ilości zasobów, szczególnie w przypadku dużych plików. Możesz go wyłączyć, uruchamiając polecenie „M-x fundamental-mode”, aby przejść do trybu podstawowego, który zapewnia podstawową edycję tekstu bez podświetlania składni.

Użyj zawężenia do regionu: Jeśli pracujesz tylko z niewielką częścią dużego pliku, możesz użyć polecenia „narrow-to-region”, aby ograniczyć bufor do określonego regionu tekstu. Może to poprawić wydajność poprzez zmniejszenie ilości danych, które Emacs musi obsłużyć.

Użyj dosłownego wyszukiwania pliku: Jeśli wiesz, że otwierasz duży plik, który nie wymaga żadnego specjalnego przetwarzania, możesz użyć polecenia „find-file-literally” zamiast „find-file”. Spowoduje to otwarcie pliku w trybie podstawowym bez podświetlania składni lub innego przetwarzania.