

It appears that lstat requires a global lock per thread within APFS and no matter what one does, one will be held back by at least a factor of ten for large IO operations versus linux.
#Install git for mac osx full
That said, I'm running my terminal through the x86 emulation mode and still get full real times in the ~.06s range, 10-20x slower than my old 'nix machine with RHEL 8.3 and with a slightly older version of Git than the mac (2.30.1 vs 2.27.0 ). I received a 20% or so speedup by removing brew's updated git and using the system default.

And it was even sluggish on tiny git repos with less than 100 files, so either something was seriously wrong with my filesystem-which should've shown problems elsewhere-or Git was being funny. Later in the day when I was doing some heavy Git activity, I noticed everything felt.
#Install git for mac osx upgrade
But as Apple's evolved macOS, they've done a pretty good job of keeping the system versions relatively up-to-date, and unless you need bleeding edge features, the version of Git that's installed on macOS Mojave (2.17.x) is probably adequate for now.īut back to Homebrew-recently I ran brew upgrade to upgrade a bunch of packages, and it happened to upgrade Git to 2.20.1. In the past, it was necessary to use Homebrew to get a much newer version of Git than was available at the time on macOS.

I regularly use Homebrew to switch to more recent versions of CLI utilities and other packages I use in my day-to-day software and infrastructure development. Maybe some of the 'spyware-ish' software that's installed on the work mark is making calls like lstat() super slow? Looks like I might be profiling some things on that machine anyways :) Update: I just upgraded my personal mac to 2.20.1, and am experiencing none of the slowdown I had on my work Mac.
