Thread (24 messages) flat view 24 messages, 6 authors, 6d ago

Re: [PATCH] packfile: fix perf regression with many packs

From: Jeff King <hidden>
Date: 2026-08-13 16:15:29

On Thu, Aug 13, 2026 at 09:35:49AM +0200, Patrick Steinhardt wrote:
An alternative would be to use a hashmap here that tracks the packs that
have already been added. It has the advantage that it also covers the
`prepend()` operation and that callers don't have to be aware of this
mechanism at all. Furthermore, moving preexisting entries to the back or
front could become O(logn) if the list was doubly-linked. We do this
operation quite often to re-sort entries in the list when looking up
objects.
Don't we already use such a hashmap via packfile_store_add_pack() and
packfile_store_load_pack()? That comes from ec48540fe8 (packfile.c:
speed up loading lots of packfiles, 2019-11-27) and is how we know that
this "is_new" flag is true (otherwise we'd get duplicates during
"reprepare" operations).

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help