Previous: Microsoft Windows Performance, Up: Performance [Contents][Index]
Before Emacs 26.1 child processes were created using fork
on macOS.
That needlessly copied GUI resources, which is expensive. The result
was that forking took about 30 times as long on Darwin than on Linux,
and because Magit starts many git
processes that made quite a
difference.
So make sure that you are using at least Emacs 26.1, in which case the
faster vfork
will be used. (The creation of child processes still
takes about twice as long on Darwin compared to Linux.) See 2
for more information.
On Catalina, and potentially other macOS releases, there may be a
performance problem where any action takes 20 times longer on Darwin
than on Linux. This can be worked around by setting
magit-git-executable
to the absolute path of the git
executable,
instead of relying on resolving the $PATH
. You should not do that if
you want to use Magit on remote machines using Tramp and if git
is not
installed in the same location on those machines.