Advanced Techniques for Reducing Emacs Startup Time
tl;dr: Do these steps:
- Profile with Esup.
- Adjust the garbage collection threshold.
- Autoload everything with use-package.
- Avoid helper functions which cause eager loads.
- See my Emacs config for an example.
Source: Advanced Techniques for Reducing Emacs Startup Time, an article by Joe Schafer.