threads / discuss / 8557

Does anyone have any benchmarks against CVS?

Subject: Does anyone have any benchmarks against CVS?

## tl;dr

9 messages between Jun 11, 2007 and Jun 12, 2007.

replies: 8people: 8as markdown or json

linux@horizon.com· Jun 11, 2007, 09:04 UTC · lore

It seems to be common knowledge that git is a heck of a lot faster than CVS at most operations, but I'd like to do a little evangelizing and I can't seem to find a benchmark to support that claim.

Am I just blind?

I could find a code base and measure myself, but perhaps someone who's been hacking on CVS converters already has a reasonable code base in both forms that could be used for testing?

David Kastrup· Jun 11, 2007, 09:26 UTC · re: linux@horizon.com · lore

Re: Does anyone have any benchmarks against CVS?

linux@horizon.com writes:
Show 9 quoted lines
> It seems to be common knowledge that git is a heck of a lot faster than
> CVS at most operations, but I'd like to do a little evangelizing and
> I can't seem to find a benchmark to support that claim.
>
> Am I just blind?
>
> I could find a code base and measure myself, but perhaps someone who's
> been hacking on CVS converters already has a reasonable code base
> in both forms that could be used for testing?

CVS and git do completely different things (which is one of the main points of git). git tends to do its own things pretty fast, CVS tends to its things more leasurely and with higher network impact. Benchmarking is not really useful since both systems do different things.

-- 
David Kastrup
Johannes Schindelin· Jun 11, 2007, 09:47 UTC · re: David Kastrup · lore

Re: Does anyone have any benchmarks against CVS?

Hi,
On Mon, 11 Jun 2007, David Kastrup wrote:
Show 17 quoted lines
> linux@horizon.com writes:
> 
> > It seems to be common knowledge that git is a heck of a lot faster than
> > CVS at most operations, but I'd like to do a little evangelizing and
> > I can't seem to find a benchmark to support that claim.
> >
> > Am I just blind?
> >
> > I could find a code base and measure myself, but perhaps someone who's
> > been hacking on CVS converters already has a reasonable code base
> > in both forms that could be used for testing?
> 
> CVS and git do completely different things (which is one of the main
> points of git).  git tends to do its own things pretty fast, CVS tends
> to its things more leasurely and with higher network impact.
> Benchmarking is not really useful since both systems do different
> things.

I disagree. For quite some time (pre 2005), I used CVS to track some directories, where the "server" was a directory on the same machine.

This is exactly the same workflow as I do now with Git. So I will try to come up with a sensible test this afternoon (If I can get at a copy of QEmu's cvsroot, I'll try that) where I compare CVS and Git, both of which have the repository already set up.

Okay, it is not completely fair, since Git _will_ blow CVS away, but linux-at-horizon asked for it.

Sidenote: It was always a hassle to set up the initial version with CVS. 
Funnily enough, the "CVS done right" SCM has the _same_ issue.

I even presented Git to an svn user last week (not his fault, really, he was more than willing to try Git), and he was surprised that you could _continue_ working in the _same_ working directory as before, after git-init...

Ciao, Dscho

Andy Parkins· Jun 11, 2007, 19:09 UTC · re: Johannes Schindelin · lore

Re: Does anyone have any benchmarks against CVS?

On Monday 2007, June 11, Johannes Schindelin wrote:
> I even presented Git to an svn user last week (not his fault, really,
> he was more than willing to try Git), and he was surprised that you
> could _continue_ working in the _same_ working directory as before,
> after git-init...

I always forget what a useful feature that is; I've become so used to running git-init everywhere I turn that the memory of the ridiculousness of SCMs that can't do that has already faded. :-)

Andy
-- 
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com
Martin Langhoff· Jun 11, 2007, 21:54 UTC · re: linux@horizon.com · lore

Re: Does anyone have any benchmarks against CVS?

On 11 Jun 2007 05:04:51 -0400, linux@horizon.com <linux@horizon.com> wrote:
> It seems to be common knowledge that git is a heck of a lot faster than
> CVS at most operations, but I'd like to do a little evangelizing and
> I can't seem to find a benchmark to support that claim.

It _will_ be a bit of an apple-to-oranges comparison, but you could use a few large-ish projects that have a published GIT gateway. Measure time and bw use of

   - cvs co vs git clone
   - cvs status vs git status
   - cvs update vs git pull
   - cvs log (at top level) vs git log
   - cvs log path/to/file vs git log path/to/file
I would suggest
 - Moodle (for which I maintain an http-fetchable repo at
http://git.catalyst.net.nz/git/moodler2.git )
 - PostgreSQL (repo.or.cz hosts a repo)
cheers
m
david@lang.hm· Jun 11, 2007, 22:06 UTC · re: Martin Langhoff · lore

Re: Does anyone have any benchmarks against CVS?

On Tue, 12 Jun 2007, Martin Langhoff wrote:
Show 16 quoted lines
> Date: Tue, 12 Jun 2007 09:54:50 +1200
> From: Martin Langhoff <martin.langhoff@gmail.com>
> To: "linux@horizon.com" <linux@horizon.com>
> Cc: git@vger.kernel.org
> Subject: Re: Does anyone have any benchmarks against CVS?
> 
> On 11 Jun 2007 05:04:51 -0400, linux@horizon.com <linux@horizon.com> wrote:
>>  It seems to be common knowledge that git is a heck of a lot faster than
>>  CVS at most operations, but I'd like to do a little evangelizing and
>>  I can't seem to find a benchmark to support that claim.
>
> It _will_ be a bit of an apple-to-oranges comparison, but you could
> use a few large-ish projects that have a published GIT gateway.
> Measure time and bw use of
>
>   - cvs co vs git clone

given that the result of this is that cvs gives you one version and git clone gives you the entire history you should probably also test what it takes to checkout an older version after doing the first one.

David Lang
Show 20 quoted lines
>   - cvs status vs git status
>   - cvs update vs git pull
>   - cvs log (at top level) vs git log
>   - cvs log path/to/file vs git log path/to/file
>
> I would suggest
>
> - Moodle (for which I maintain an http-fetchable repo at
> http://git.catalyst.net.nz/git/moodler2.git )
> - PostgreSQL (repo.or.cz hosts a repo)
>
> cheers
>
>
> m
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Robin H. Johnson· Jun 11, 2007, 22:30 UTC · re: Martin Langhoff · lore

Re: Does anyone have any benchmarks against CVS?

On Tue, Jun 12, 2007 at 09:54:50AM +1200, Martin Langhoff wrote:
Show 10 quoted lines
>  On 11 Jun 2007 05:04:51 -0400, linux@horizon.com <linux@horizon.com> wrote:
> > It seems to be common knowledge that git is a heck of a lot faster than
> > CVS at most operations, but I'd like to do a little evangelizing and
> > I can't seem to find a benchmark to support that claim.
> 
>  It _will_ be a bit of an apple-to-oranges comparison, but you could
>  use a few large-ish projects that have a published GIT gateway.
>  Measure time and bw use of
> 
>    - cvs co vs git clone

On the Git side, give breakdowns of the time for cloning with --bare (git-fetch) and the separate actual checkout time. Also compare the effects of shallow clones.

>    - cvs update vs git pull
Again, do both the git-fetch and git-merge portions.
>    - cvs log (at top level) vs git log

cvs history vs. git log might be more appropriate in the top level sense.

-- 
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Junio C Hamano· Jun 11, 2007, 22:45 UTC · re: Martin Langhoff · lore

Re: Does anyone have any benchmarks against CVS?

"Martin Langhoff" <martin.langhoff@gmail.com> writes:
> It _will_ be a bit of an apple-to-oranges comparison, but you could
> use a few large-ish projects that have a published GIT gateway.
> ...
>   - cvs status vs git status

This _is_ apples and oranges. git status is not about "the current status of working tree" but about "what I would commit if I were to say git-commit at this moment". "cvs status" does a lot more, I think. Also I haven't met anybody who says "cvs status" is useful; people seem to use "cvs -q update -n" often when they want to know "what's different between me and upstream"?

>   - cvs update vs git pull

While that is a valid comparison, I think CVS users use "cvs update" (especially "cvs -q update -n" variant) far more frequently for the purpose of seeing "what did I change so far" than truly try to update from the upstream. So a comparison that has more real-life significance would be "cvs -q update -n" vs "git diff --name-status HEAD".

There are a handful more.
 - "git pull -n" vs "cvs up" when your tree is clean and you are
   a dozen revs behind.
 - "cvs co -rother-branch" vs "git checkout other-branch".
 - "cvs diff -rold-version" vs "git diff old-version".
 - "git am a-dozen-of-mails" vs its cvs equivalent.
 - "git rebase a-dozen-of-commits" vs its cvs equivalent.
 - "git log path/to/directory/" vs its cvs equivalent
Martin Langhoff· Jun 12, 2007, 06:58 UTC · re: Junio C Hamano · lore

Re: Does anyone have any benchmarks against CVS?

On 6/12/07, Junio C Hamano <gitster@pobox.com> wrote:
Show 8 quoted lines
> "Martin Langhoff" <martin.langhoff@gmail.com> writes:
>
> > It _will_ be a bit of an apple-to-oranges comparison, but you could
> > use a few large-ish projects that have a published GIT gateway.
> > ...
> >   - cvs status vs git status
>
> This _is_ apples and oranges.
_All_ of them are ;-)

git-log is _not_ the same as cvs log. And a clone is not the same as a checkout, ever. Perhaps diff is the only reasonable comparison.

However, the benchmarks doco can show the comparative numbers and explain how those are different. Which is a great alibi to explain why almost all the git ops are insanely faster * and some of the interesting concepts behind git.

* - except clone - but mention "--references" to speed it up)
> people seem to use "cvs -q update -n" often
> when they want to know "what's different between me and
> upstream"?
I'm one of those ;-)
>  - "git am a-dozen-of-mails" vs its cvs equivalent.
>  - "git rebase a-dozen-of-commits" vs its cvs equivalent.
Don't thing those exist.
cheers
martin

← back to recent threads