setup.el について
この本で紹介しているテクニックのほとんどは、拙作の init.el フレームワーク setup.el に取り込まれています。
それぞれ単体の Tips にも価値があると思うのでこの本を書いていますが、フレームワークに乗っかれば自然と起動速度を意識した init.el が書けるようになっているので、興味があればこちらも試してみてください。
emacsclient について
Emacs を起動しっぱなしにして、そもそも何度も起動しないようにするという手法 (emacsclient) もあります。
起動自体を速くすることとは別路線の手法になるので、この本ではスコープ外としますが、試してみる価値はあると思います。
init.el のプロファイリングについて
チューニングを行う際は、何がボトルネックになっているのかを調べるのが大事です。
init.el
の先頭に
(require 'profiler)
(profiler-start 'cpu)
末尾に
(profiler-report)
(profiler-stop)
などと書いておくことで、 init.el
のプロファイルを取ることができます。
処理に時間のかかっている関数を簡単に見つけることができるので、より効率の良い関数で代用する、コンパイル時に処理してしまってキャッシュする、あるいはその重い関数を使用しているパッケージ自体のロードを遅延するなど、作戦を考えやすいです。
より効果の大きそうなところからチューニングしていくとやる気が出ます。
では、いよいよ本題に入っていきます。