Re: [opensource] Re: Petition Against Official Endorsement of BitKeeper by Linux Maintainers

From: Larry McVoy (lm@bitmover.com)
Date: Tue Mar 05 2002 - 20:59:27 EST


On Tue, Mar 05, 2002 at 05:50:49PM -0800, Mike Fedyk wrote:
> On Tue, Mar 05, 2002 at 08:46:27PM -0500, Shawn Starr wrote:
> >
> > The only problem I have with BK is it's slow on a Pentium 200Mhz, vs
> > CVS. ;/ Wish that would be fixed.
> >
>
> How much (wall clock) time will it take to produce a patch with bk
> compared to cvs?

On a 1Ghz Athlon (love those CPUs, AMD rocks my world),

[/tmp/linux-2.5] time bk export -tpatch -r+ > /tmp/P

real 0m2.410s
user 0m1.170s
sys 0m0.050s

That's a hot cache number, it's slower if we have to go to disk.

Bk could be faster, it's on our list. The main thing for performance is
memory. BK uses the file system as a cache, it mmaps the files and wants
them in the cache, life sucks if you don't have enough memory to fit the
entire tree in memory. "Sucks" is defined as "it takes too long". Our
holy grail in terms of performance is to have all operations take less than
250 milliseconds, i.e., you hit return and you get your prompt back.

We have a long way to go to achieve that, bummer, but true. For some
things, we are really fast. We pull changes from a remote site
amazingly fast. The downside is that we are paranoid about data and
we run the equiv of a fsck on the repository every time you update it.
So if you have a repository with 20,000 files and you pull on a one line,
one file, bugfix, we still open up and check every single file's checksum.
Which sucks from a performance point of view.

On the other hand, it finds bad disks, bad memory, etc. Right away, before
it corrupts all your data. It found some bad juju at one of our commercial
customers today, in fact.

We're working on nested repositories (think CVS modules) and those will limit
the check to the update "module", that will help a lot.

-- 
---
Larry McVoy            	 lm at bitmover.com           http://www.bitmover.com/lm 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:51 EST