Thread (24 messages) flat view 24 messages, 4 authors, 2016-06-15

Re: CFT: merge-recursive in C (updated)

From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:31


On Tue, 27 Jun 2006, Alex Riesen wrote:
Good news is that it is faster: 6min vs 10min. Bad news is that it is still
not enough for me and it is only on Linux (Windows will be slower,
still testing),
uses an awful lot of memory and CPU.
Why do you do that horrible node_list, and the broken "find common 
ancestors?"

I can't follow your code, but it _looks_ like you are using some totally 
broken graph walking function.

For git, the #1 optimization ALWAYS is to avoid walking the full commit 
graph. That fundamentally _cannot_ scale. 

Almost all of the "hard work" in git has been to try to read the minimum 
amount of commits possible. That means that you absolutely must not just 
walk the commits the "obvious" way, because that will always require you 
to build up the whole graph of the whole history, even if the common 
shared point is much closer.

So it look slike your "graph.c" is _fundamentally_ flawed.

You need to really read "git-merge-base.c" and understand it thoroughly. 
And then you need to throw away your graph.c, and use git-merge-base 
instead.

			Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help