Microsoft's Performance Contributions to Git in 2017
Jan 11, 2018Derrick Stolee

Summary
This post details specific contributions to the core Git client in 2017 aimed at improving performance for large repositories, particularly those used with GVFS. Key contributions include optimizations for index loading (skipping ordering checks, checking last entry before binary search, reducing reloads), improvements to `git status` and `git checkout` (new flags for status, file-system monitor integration), and a new algorithm for calculating abbreviated object hashes using binary searches. Micro-optimizations for index reads/writes, such as using hashmaps and stack allocations, are also highlighted.