definizione
Questa variabile di Emacs stabilisce quando fare pulizia nella memoria. Ossia, se vengono allocati più dei byte configurati (default 800000, i.e. 800kb), viene richiamato il comando garbage-collect.
configurazione
Inserire, alternativamente una delle seguenti righe:
(setq gc-cons-threshold 800000)
(setq gc-cons-threshold (* 800 000))Un valore basso presuppone molte chiamate a garbage-collect ma di durata minima (Emacs freezza durante le chiamate). Un valore alto comporta poche chiamate ma che freezzano Emacs per molti secondi. Una soluzione potrebbe essere aumentare il valore della variabile nelle situazioni dove non abbiamo piacere che venga chiamato il comando garbage-collect (ad esempio quando siamo nel Minibuffer e stiamo interagendo):
(defun my-minibuffer-setup-hook ()
(setq gc-cons-threshold most-positive-fixnum))
(defun my-minibuffer-exit-hook ()
(setq gc-cons-threshold (* 800 000)))
(add-hook 'minibuffer-setup-hook #'my-minibuffer-setup-hook)
(add-hook 'minibuffer-exit-hook #'my-minibuffer-exit-hook)suggerimento
Con l’impostazione seguente dovrebbe eseguire garbage-collect ogni volta che Emacs non viene usato per 2 secondi:
(run-with-idle-timer 2 t (lambda () (garbage-collect)))