-;;; init.el --- Emmanuel Roubion's personal init file -*- lexical-binding: t; -*-
+;;; init.el --- Emmanuel Roubion's personal init file -*- lexical-binding: t; coding: utf-8  -*-
+
 ;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Emmanuel Roubion
 
 ;; Author: Emmanuel Roubion
+;; Keywords: Emacs
 ;; URL: https://github.com/maanuair/dotfiles
 
 ;; This file is part of Emmanuel's Roubion dot files, released under

;; On other OSes:
;;   emacs -q --eval='(message "%s" (emacs-init-time))'

;; Currently, startup time is:
;;   <even before>: 1.86 seconds, with 5 Cs
;;   2020-09:       2.49 seconds, with 11 GCs
;;   2021-01:       5.26 seconds, with 11 GCs
;;   2021-03:       1.15 seconds, with 14 GCs (on Apple Silicon M1)

;; Make startup faster by reducing the frequency of GC.
(setq
  ;; The default is 800 kilobytes. Measured in bytes.
  gc-cons-threshold (* 50 1000 1024)

  ;; Portion of heap used for allocation. Defaults to 0.1.
  gc-cons-percentage 0.4)

;; Use a hook so the message doesn't get clobbered by other messages.
(add-hook 'emacs-startup-hook

			  (float-time
			    (time-subtract after-init-time before-init-time)))
		  gcs-done)))

;; ======================================================================
;; Act I
