housekeeping: Enable writing bitmap lookup tables
In Git v2.38.0, a new lookup table extension was added to bitmaps. This extension allows Git to defer loading bitmaps to a later point in time when they're really needed. So in cases where a bitmap is not needed we get a speedup because we avoid doing word that would've been pointless anyway. This optimization is especially important in the context of large repositories, which both have more and larger bitmaps.
Enable writing of bitmaps behind a feature flag by setting the new
pack.writeBitmapLookupTable
config to true
.
While we eagerly rewrote on-disk data structures when starting to use new features for e.g. commit-graphs. Following the same pattern for this new bitmap extension would be infeasible though because in order to write a new bitmap, we have to repack all preexisting packfiles. Doing this eagerly for all repositories during the rollout of this feature flag would generate a lot of load though as repacking packfiles is quite an expensive operation.
So instead we just accept the fact that it will take time for lookup tables to be generated for all repositories.
Closes #4734 (closed).