On Thu, Mar 18, 2021 at 04:31:24PM -0600, Martin Fick wrote: > On Thursday, March 18, 2021 9:58:56 AM MDT Han-Wen Nienhuys wrote: > > The bitmaps are generated by GC, and you can't GC all the time. > > I believe that I recently saw an effort to make this incremental, perhaps > related to the geometric repacking series? If that were the case, you could gc > much more often cheaply. Perhaps it could be something done on every upload at > some point the way that reflog effectively does on every update? That geometric repacking work is leading up to having a bitmap for a multi-pack-index. Which will make them _cheaper_, but still not especially cheap (because we've reordered the objects corresponding to each bit, and also because our writing process still does a lot of O(nr_commits) work). In the very long run, I think the way out would be to stop using pack or midx ordering as the basis of the bitmap, and instead have a stable object ordering that can be appended to. That would allow true incremental generation of the bitmaps (leaving old ones in place, and just adding a new ones to represent new commits). But that's such a big departure from the status quo that having a midx bitmap seemed like a more attainable middle ground in the meantime. -Peff