3 ms·
If you load a bunch of packages at startup that take several seconds to load that is as good a benchmark as any. I have this at the end of my init.el: (run
by michaelhoffman 5y ago
If you load a bunch of packages at startup that take several seconds to load that is as good a benchmark as any. I have this at the end of my init.el:
(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))))
- taeric 5y agoMy startup had always been under a second. On a Mac, the command to get the path right is the longest pole. Remains so in native. 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))
- michaelhoffman 5y agoI'm sure I got this code from someone else, was going to replace it with (emacs-init-time) myself but I suppose it's nice to only have the first two numerals after the decimal point which this code does and (emacs-init-time) doesn't.
- taeric 5y agoFunny, coming back to this, if I recompile without native compilation and any other flags, I get faster startups. By upwards of 1 second. (So, from almost 2 seconds to almost 1 second.) An emacs -q startup is roughly the same. And I maintain that many things feel snappier with the optimization flags.
- ashton314 5y agoApropos of the path: have you tried setting your path in, say, `.zshenv`? When I started using that, I was able to shave off a significant amount of time because Emacs didn't have to fire up a full interactive shell to grab the env vars.
- taeric 5y agoThis is only on a Mac, right? I'll look into it, not a problem on my other machine.