Git fetch performance improvements in 2021, Part 2
Feb 7, 2022Jacob Vosmaer

Summary
This post details the optimization of Git fetch performance in 2021, focusing on the implementation of the pack-objects cache and an improved RPC transport for Git HTTP. The pack-objects cache deduplicates identical Git fetch requests, reducing CPU and memory usage. The improved RPC transport uses side channels (Unix sockets or Yamux streams) to bypass gRPC's overhead for bulk data transfer, addressing bottlenecks identified during high fetch traffic scenarios. The pack-objects cache was introduced in GitLab 13.11 and optimized in 14.5. The improved RPC transport for Git HTTP was released in GitLab 14.5.