Nice work, really interesting blog post!

On a sidenote, git itself can also get painfully slow with large monorepos. Hope GitHub can push some changes there as well.

I know FB moved off git to mercurial because of performance issues.

My understanding is that neither Git nor Mercurial can do this well out of the box, and FB and Google both have their own extensions to Mercurial to make this possible (because even though Mercurial is often slower than Git, it’s extensible)

e.g. https://facebook.github.io/watchman/ - used as part of Facebook’s Mercurial solution, I think.

And then from mercurial extensions to our own server, mononoke, which apparently has been moved under the Eden umbrella: https://github.com/facebookexperimental/eden