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.