3 ms·
> Git is slow on large repos, even on an SSD. Maybe on Windows, but then everything is slow on Windows. On my 2015-era machine `git pull` on the Linux kernel s
by 5e92cb50239222b 4y ago
> Git is slow on large repos, even on an SSD.
Maybe on Windows, but then everything is slow on Windows. On my 2015-era machine `git pull` on the Linux kernel source tree is nearly instantaneous after the remote objects are downloaded. Same with `git status`, `git diff`, etc. I mean, that's what it was developed for, because everything else was slow.
- nine_k 4y agoHow about `git status`? The first SSD I bought back in 2008 was to put a large git repo on it; it helped. With much larger repos, like those I had to work with at Facebook, even an NVMe drive becomes a bit uncomfortable, and one has to use something like Watchman [1] to track changes without a rather noticeable delay. [1]: https://github.com/facebook/watchman https://github.com/facebook/watchman
- Akronymus 4y agomaybe this is of interest to you? https://github.blog/2022-06-29-improve-git-monorepo-performance-with-a-file-system-monitor/ https://github.blog/2022-06-29-improve-git-monorepo-performa...
- glandium 4y agoFWIW, see https://news.ycombinator.com/item?id=31928844 https://news.ycombinator.com/item?id=31928844
- vlovich123 4y agoFacebook uses mercurial across the board, at least from what I saw a couple years back. A good chunk of the large file / large repo has been open sourced as EdenFS [1] which uses file notifications to update the status as you make changes to amortize the cost so that it’s already computed by the time you query (watchman is integrated). That being said, very few code bases grow to this size unless you are a major tech company and have a single mono repo (with a few major OSS projects as notable counter examples). [1] https://github.com/facebookexperimental/eden https://github.com/facebookexperimental/eden
- nine_k 4y agoThis is correct! Sorry. It's sometimes better to sleep in the middle of a night than to post. So embarrassing.