On Tue, Jul 04, 2023 at 11:10:47PM -0700, Junio C Hamano wrote: > My preference would be to see these optimization done first and then > add this new loop on top of it. That way, we can measure more > easily what kind of additional overhead, if any, we are paying by > adding the loop. I ended up doing them on top, rather than before, but I think the size of the impact can easily be seen. The one thing that would actually make us a lot faster (by using the packed-refs peels) is to make full peels the only option, and do not bother letting --points-at match "B" in an A->B->C peel. But that would be removing something that is currently matched (even before the patch in this thread), so I stopped short of it in my optimizations. But even if we decide to do that, Jan's patch is not making anything worse there (in fact, it is making it better, because it is matching "C" which we do not currently match). So I'd be inclined to proceed with the patches I sent earlier, and then if we choose to later refactor again to drop "B", we can. Of course if somebody wants to do that refactor _now_ instead of the patches already posted, I'm OK with that. It just won't be me due to time constraints. -Peff