Experiment: Use bitmap boundary traversals to speed up pack computation
Git needs to calculate the set of objects required by a client to fulfill a certain request given the objects that a client already has (haves) and the objects the client is requesting (wants). This requires us to perform a walk over parts of the object graph in order to figure out all required objects.
In practice, Git can speed up this process via packfile bitmaps which contain the transitive reachability of objects given a certain start object. There are cases though where the bitmap walks are inefficient, which is especially the case when only subsets of the graph are covered by bitmaps or when the bitmaps are stale. With Git v2.42.0, a new mode bitmap traversal mode was introduced that is claimed to significantly speed up such walks, where improvements supposedly range from 2x-15x speedups.
We should test out this new mode.
See https://github.blog/2023-08-21-highlights-from-git-2-42/#faster-object-traversals-with-bitmaps for referenece.