From bbda4343655fdb901d22fe104ce9482e2d7cc608 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 15 Jun 2018 14:10:06 +0200 Subject: [PATCH] Move startup optimizations into init.el Doesn't really belong in core.el and only applies to interactive sessions. --- core/core.el | 26 -------------------------- init.el | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/core/core.el b/core/core.el index 33421040b..894efadaf 100644 --- a/core/core.el +++ b/core/core.el @@ -112,32 +112,6 @@ else (except for `window-setup-hook').") (defvar doom--stage 'init) -;; -;; Optimize startup -;; - -(defvar doom--file-name-handler-alist file-name-handler-alist) -(unless (or after-init-time noninteractive) - ;; A big contributor to long startup times is the garbage collector, so we up - ;; its memory threshold, temporarily and reset it later in `doom|finalize'. - (setq gc-cons-threshold 402653184 - gc-cons-percentage 1.0 - ;; consulted on every `require', `load' and various file reading - ;; functions. You get a minor speed up by nooping this. - file-name-handler-alist nil)) - -(defun doom|finalize () - "Resets garbage collection settings to reasonable defaults (if you don't do -this, you'll get stuttering and random freezes) and resets -`file-name-handler-alist'." - (setq file-name-handler-alist doom--file-name-handler-alist - gc-cons-threshold 16777216 - gc-cons-percentage 0.2)) - -(add-hook 'emacs-startup-hook #'doom|finalize) -(add-hook 'doom-reload-hook #'doom|finalize) - - ;; ;; Emacs core configuration ;; diff --git a/init.el b/init.el index eda0e8894..68af9def2 100644 --- a/init.el +++ b/init.el @@ -27,7 +27,42 @@ ;; ;;; License: MIT +;; Ensure Doom is always running out of this file's directory (setq user-emacs-directory (file-name-directory load-file-name) load-prefer-newer noninteractive) + +;; +;; Optimize startup +;; + +(unless noninteractive + (defvar doom--file-name-handler-alist + file-name-handler-alist) + (unless after-init-time + ;; A big contributor to long startup times is the garbage collector, so we + ;; up its memory threshold, temporarily and reset it later in + ;; `doom|finalize'. + (setq gc-cons-threshold 402653184 + gc-cons-percentage 1.0 + ;; consulted on every `require', `load' and various file reading + ;; functions. You get a minor speed up by nooping this. + file-name-handler-alist nil)) + + (defun doom|finalize () + "Resets garbage collection settings to reasonable defaults (if you don't do +this, you'll get stuttering and random freezes) and resets +`file-name-handler-alist'." + (setq file-name-handler-alist doom--file-name-handler-alist + gc-cons-threshold 16777216 + gc-cons-percentage 0.2)) + + (add-hook 'emacs-startup-hook #'doom|finalize) + (add-hook 'doom-reload-hook #'doom|finalize)) + + +;; +;; Bootstrap Doom +;; + (require 'core (concat user-emacs-directory "core/core"))