[PATCH] show-branch: Fix another performance problem.
- From
- Alexandre Julliard <julliard@winehq.org>
- Date
- Jul 23, 2006, 17:51 UTC
- Message-ID
- <87mzb0fbw7.fsf@wine.dyndns.org>
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 <julliard@winehq.org> --- builtin-show-branch.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/builtin-show-branch.c b/builtin-show-branch.c index 3d240ca..82f75b7 100644 --- a/builtin-show-branch.c +++ b/builtin-show-branch.c @@ -89,6 +89,8 @@ static int name_first_parent_chain(struc name_parent(c, p); i++; } + else + break; c = p; } return i;
-- 1.4.2.rc1.ge7a0 -- Alexandre Julliard julliard@winehq.org