Previous: Microsoft Windows Performance, Up: Performance [Contents][Index]
On macOS Emacs currently creates child processes using fork
. It
appears that this also copies GUI resources. The result is that
forking takes about 30 times as long on Darwin than on Linux. And
because Magit starts many git
processes even when doing simple things,
that makes quite a difference.
On the master
branch Emacs now uses vfork
when possible, like this was
already done on Linux, and now child creation only takes about twice
as long on Darwin. See 2 for more information.
Nobody knows when the changes on the master
branch will be released as
26.1
, but it is still a long way off. You might want to get your
hands on this change before then. The easiest way to get a patched
Emacs is to install the emacs-plus
formula 3 using homebrew
.
The change has been backported, so you get it not only when using
--HEAD
, but also when using --devel
or when installing the latest
release (by not using a version argument).
Alternatively you can apply the backport 4 manually.