3 ms·
> nativecomp is pretty much a gimmick I wouldn't go so far as to call native-comp feature a gimmick, but you probably won't see noticeable UI performance impro
by iLemming 3y ago
> nativecomp is pretty much a gimmick
I wouldn't go so far as to call native-comp feature a gimmick, but you probably won't see noticeable UI performance improvements with it. On the Mac, --with-metal support may give it a bit snappier feel but it depends on the hardware, you may try both, with and without and compare.
Matter of fact, Emacs with native-comp flag may give you an impression of things being super slow right after the startup, because it often has to recompile packages asynchronously, the process of which you can observe in *Async-native-compile-log* buffer, it's normal for Emacs built with native-comp to be a bit laggy for a minute or two at the startup, but you don't have to restart Emacs very often. native-comp benefits can be observed when using things like lsp-mode, where it brings some good perf improvements, sometimes it's worth it, but you also have to expect things to break, and quite often, native-comp relies on libgccjit, and MacOS updates often break the toolchain dependencies, and it can be highly annoying if you like to update Emacs packages often, especially when using something like Doom or Spacemacs, but it's not Emacs' fault. It's great that we have the option to disable native-comp completely without having drastically reduced performance, most of the time, you won't even notice it.
Also, one thing I always recommend doing on the Mac, which is absolutely unrelated to Emacs is this:
```bash
# "Set a blazingly fast keyboard repeat rate, "
defaults write NSGlobalDomain KeyRepeat -int 1
# "Set a shorter Delay until key repeat"
defaults write NSGlobalDomain InitialKeyRepeat -int 10
# disable accents on key hold
defaults write -g ApplePressAndHoldEnabled -bool false
```
Reboot after setting that and trust me, you'd thank me later. Emacs would feel like it's on steroids. And remember, don't ever change repeat rate in Preferences dialog, it resets it to the values acceptable for muggles. Don't be one, be the keyboard wizard, let your machine fly.
- logicprog 3y agoDoom Emacs actually compiles your packages ahead of time before your editor even starts, which is a dog slow process to go through when you do it, but you only have to do it once and then your editor is as snappy as you could want. My Doom (which has a lot of layers enabled) starts in 0.17s iirc
- iLemming 3y agoAFAIK Doom Emacs is either already switched to async compilation or in the process of moving that way. So it shouldn't be pre-compiling the packages anymore or that's the idea. I wasn't closely following the discussions around it, so I don't know the exact specifics. Async compilation does not slow down the startup time, it's not what I said. My Emacs instance also starts very fast, that is a signature feature of Doom. But do check your buffers, there will be *Async-native-compile-log* there. What I'm saying is that when you start it, while it's running compilation asynchronously you may feel some slight, almost unnoticeable (or super noticeable - it's subjective) UI performance dip, it's not a big deal.