Simon Tournier writes: > Hi Ludo, > > On Mon, 10 Mar 2025 at 22:57, Ludovic Courtès wrote: >> Simon Tournier skribis: >> >>> Last cherry on the top, from [1], the implementation relying on “git >>> merge-base --is-ancestor” is 35x faster. >> >> Uh, interesting! I would still like to avoid shelling out to Git for >> common operations, but this comparison shows there’s a lot of room to >> improve the performance of the current implementation. > > You mean the current implementation of ligbit2, right? Because, from my > poor understanding, it’s part of the performance barrier. There is git_graph_descendant_of function in libgit2, but it is not exposed by the guile-git binding. Maybe we could try to use it to implement the check instead the current approach (which does it in Guile). I wonder how well that would perform compared to --is-ancestor. Tomas -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.