From: Alexandre Julliard Date: Sun, 23 Jul 2006 17:51:04 +0000 (+0200) Subject: show-branch: Fix another performance problem. X-Git-Tag: v1.4.2-rc2~15 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f8263c5339fd70ee00b60c37b715c7e46b30a3bf;p=git.git show-branch: Fix another performance problem. When naming commits, stop walking the parent chain as soon as we find a commit that already has a name. The parent chain of that commit will be walked later on in any case (or may even have been walked already). This avoids O(n^2) behavior; on a tree where show-branch displays 6800 commits, the total run time drops from 77 seconds to 5 seconds. Signed-off-by: Alexandre Julliard Signed-off-by: Junio C Hamano --- diff --git a/builtin-show-branch.c b/builtin-show-branch.c index 3d240ca43..82f75b72d 100644 --- a/builtin-show-branch.c +++ b/builtin-show-branch.c @@ -89,6 +89,8 @@ static int name_first_parent_chain(struct commit *c) name_parent(c, p); i++; } + else + break; c = p; } return i;