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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]