threads / patch / 4958

patchshow-branch: Fix another performance problem.

Subject: [PATCH] show-branch: Fix another performance problem.

## tl;dr

2 messages between Jul 23, 2006 and Jul 24, 2006. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Alexandre Julliard· Jul 23, 2006, 17:51 UTC · lore

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(-)
Show changes to builtin-show-branch.c +2 −0
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

← back to recent threads