MacOS Performance

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.

Additionally, git installed from a package manager like brew or nix seems to be slower than the native executable. Profile the git executable you’re running against the one at /usr/bin/git, and if you notice a notable difference try using the latter as magit-git-executable.


Footnotes

(2)

https://lists.gnu.org/archive/html/bug-gnu-emacs/2017-04/msg00201.html