init.el の読み込みを計測(2)
init.el をドラスティックに変更して、元々 postpone.el 用に括り出していた設定と Org Mode に関する設定を、それぞれファイル化して init.el から分離してみました。計測した時間をみるとわかりますが、かなりの効果が得られました。
ファイルの分離方法は簡単で、ソースブロックの :tangle オプションに yes ではなく、ファイル名を与えるだけです。例えば、次のような感じです。
#+begin_src emacs-lisp :tangle late-init.el
;; postpone.el に紐付ける設定群
#+end_src
#+begin_src emacs-lisp :tangle init-org.el
;; Org mode に紐付ける設定群
#+end_src
Table 1:
init.el 読み込みシーケンスの時間計測
| CUI[ms] | GUI[ms] | |
|---|---|---|
| startup | 4.70 | 4.77 |
| core | 2.45 | 2.63 |
| point | 0.06 | 0.10 |
| editing | 0.74 | 0.65 |
| presentation | 3.33 | 2.99 |
| media | 0.19 | 0.08 |
| history | 0.32 | 0.28 |
| development | 0.05 | 0.05 |
| Org Mode | 0.0 | 0.0 |
| frame and window | 1.59 | 3.68 |
| font | 0.49 | 0.60 |
| utility | 0.72 | 0.71 |
合計値を前回の計測(init.el の読み込みを計測)と比較すると、圧倒的な優位性です。削減された時間は、 postpone.el の読み込み時と Org バッファを初めて開いた時に割り振られます。
Table 2:
前回との比較
| CUI[ms] | GUI[ms] | |
|---|---|---|
| 第一回(前回) | 74.91 | 66.18 |
| 第二回(今回) | 14.64 | 16.54 |

