Thread (42 messages) 42 messages, 5 authors, 13d ago

Re: weird quadratic reftable behavior, was: Re: [PATCH 3/3] t5551: pack refs after creating many tags

From: Kristofer Karlsson <hidden>
Date: 2026-07-06 11:37:49

On Mon, 6 Jul 2026 at 08:46, Patrick Steinhardt [off-list ref] wrote:
An easy scenario where you don't have to disable compaction would be
what Peff posted: you create X references and then delete all of them.
That shouldn't result in compaction and directly hits the case that we
care about.
Right, thanks. The recreate-same-refs case works with compaction
enabled and shows the expected improvement (~100x for 8000 refs).

I also found a worse case that feels more realistic: delete 8000
"old-*" refs, then create 8000 "new-*" refs. Since "new" is
lexicographically after "old", every create scans all tombstones.
That one goes from 27s to 0.09s after fixing it.
If we can demonstrate a significant improvement in the above case then
it would be worth it, I guess.
I will clean up the patch and submit it shortly.

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