What worries me, is that most of the feeling is just placebo. I know native is faster, but by how much? Are there any good benchmarks for measuring emacs speed?
(run-with-idle-timer
3 nil
(lambda ()
(let ((inhibit-message t))
(message "Emacs ready in %s with %d garbage collections."
(format "%.2f seconds"
(float-time
(time-subtract after-init-time before-init-time)))
gcs-done))))That said, I'll play with it some. Still looking for a broader benchmark, though.
Edit: Looks like I lied. Startup is about 2 seconds, but is mainly dominated by a network hit to refresh packages. (So, slower if I'm on a bad network... I should fix that.) Your script, though, is odd, as I can get to the Messages buffer and wait a second before I see that message show up. (Also, you can just eval (emacs-init-time))
An emacs -q startup is roughly the same. And I maintain that many things feel snappier with the optimization flags.
Back to the point, though, I'm assuming that libc dynamically does most of the optimizations that native enables?
[1]https://github.com/d12frosted/homebrew-emacs-plus
[2]https://github.com/hlissner/doom-emacs
[3]https://github.com/clojure-emacs/cider