Patrick Steinhardt <ps@xxxxxx> writes: > Fair point indeed. The following is a worst-case scenario benchmark of > of the change where we do a full topological walk of all reachable > commits in the graph, executed in linux.git. We parse commit parents via > `repo_parse_commit_gently()`, so the new code path now basically has to > check for object existence of every reachable commit: > ... > The added check does lead to a performance regression indeed, which is > not all that unexpected. That being said, the commit-graph still results > in a significant speedup compared to the case where we don't have it. Yeah, I agree that both points are expected. An extra check that is much cheaper than the full parsing is paying a small price to be a bit more careful than before. The question is if the price is small enough. I am still not sure if the extra carefulness is warranted for all normal cases to spend 30% extra cycles Yeah, I agree that both points are expected. An extra check that is much cheaper than the full parsing is paying a small price to be a bit more careful than before. The question is if the price is small enough. I am still not sure if the extra carefulness is warranted for all normal cases to spend 30% extra cycles. Thanks.