You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Marziou, Gael" <ga...@hp.com> on 2007/08/10 15:30:32 UTC

Why such performance gap between checkout and export?

Hello,

I have setup a Windows server running SVN 1.4.4 + Apache 2.0.
I run some tests locally on the server to avoid impact of network.

svn checkout svn://localhost/...     -> 91s
svn export svn://localhost/...       -> 28s

The tests were run on a source tree of 2500 files / 50 MB.

So, it seems that the client is doing a lot of additional things on a checkout but it seems to be much to me.

Any explanations?

Thanks,

Gael Marziou



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


RE: Why such performance gap between checkout and export?

Posted by "Marziou, Gael" <ga...@hp.com>.
> If you check out a repo, the client has to write all the meta
> data into the .svn dirs.
> This causes a lot of overhead, of course.

Thanks I knew it but even though it does seem quite slow: 3 times slower.

Gael

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Why such performance gap between checkout and export?

Posted by Erik Huelsmann <eh...@gmail.com>.
>
> >
> >>> Is there really anything that would justify a factor of 3?
> >>
> >> An on-access virus scanner, for example.
> >
> > Well duplicating these files on this server using xcopy takes 2s, so to me it
> > does not explain the difference from 28s to 91s.
> > I am still surprised.
> >
>
> Apart from the duplicate data for each file, svn writes quite a lot of files
> that contain structural information, such as checksums, revision numbers for
> each file, status information etc. These are all small individual files, if
> you do some more extensive test you'll note that the number of files is a
> large factor in checkout speed, instead of the total size.

Also, a lot of disk io is spent on keeping the working copy in a
recoverable state. Subversion writes log files containing the commands
that need to be executed. Then, it flushes them to disk and reads them
back in. After executing them, they are deleted again...

bye,

Erik.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Re: Why such performance gap between checkout and export?

Posted by "Marziou, Gael" <ga...@hp.com>.
> Apart from the duplicate data for each file, svn writes quite
> a lot of files that contain structural information, such as
> checksums, revision numbers for each file, status information
> etc. These are all small individual files, if you do some
> more extensive test you'll note that the number of files is a
> large factor in checkout speed, instead of the total size.

Checksum computing can be CPU intensive, this does make sense to me.

Thanks,

Gael

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Why such performance gap between checkout and export?

Posted by Felix Gilcher <fe...@exozet.com>.


Am 10.08.2007 18:12 Uhr schrieb "Marziou, Gael" unter <ga...@hp.com>:

> 
>>> Is there really anything that would justify a factor of 3?
>> 
>> An on-access virus scanner, for example.
> 
> Well duplicating these files on this server using xcopy takes 2s, so to me it
> does not explain the difference from 28s to 91s.
> I am still surprised.
>

Apart from the duplicate data for each file, svn writes quite a lot of files
that contain structural information, such as checksums, revision numbers for
each file, status information etc. These are all small individual files, if
you do some more extensive test you'll note that the number of files is a
large factor in checkout speed, instead of the total size.
 
> Gael
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>

Regards

felix 

-- 
Felix Gilcher
Head of IT Development

Exozet Berlin GmbH
Rotherstraße 20
10245 Berlin

E-Mail: felix.gilcher@exozet.com
URL: www.exozet.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


RE: Why such performance gap between checkout and export?

Posted by "Marziou, Gael" <ga...@hp.com>.
> > Is there really anything that would justify a factor of 3?
>
> An on-access virus scanner, for example.

Well duplicating these files on this server using xcopy takes 2s, so to me it does not explain the difference from 28s to 91s.
I am still surprised.

Gael

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Why such performance gap between checkout and export?

Posted by Rainer Sokoll <R....@intershop.de>.
On Fri, Aug 10, 2007 at 05:59:43PM +0200, Carsten Koch wrote:
> Les Mikesell wrote:
> ...
> >>> svn checkout svn://localhost/...     -> 91s
> >>> svn export svn://localhost/...       -> 28s
> ...
> > Considering that the meta data includes a complete extra copy of the
> > files as checked out, that shouldn't be surprising.
> 
> On checkout, every file has to be read once and written twice.
> On export, every file has to be read once and written once.
> So in the above example, I'd expect the checkout time to be
> about 40s, not 90s.
> 
> Is there really anything that would justify a factor of 3?

An on-access virus scanner, for example.

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Why such performance gap between checkout and export?

Posted by Johnathan Gifford <jg...@wernervas.com>.
Don't forget to include your friendly Anti-Virus package.  Twice the
files, twice the scans.  Especially if your on Windows.  Additionally,
if you're on Windows, Windows has to index the content for their 'Fast
Indexing' option.

Johnathan

>>> On Fri, Aug 10, 2007 at 10:59 AM, in message
<46...@icem.com>,
Carsten Koch <Ca...@icem.com> wrote: 
> Les Mikesell wrote:
> ...
>>>> svn checkout svn://localhost/...     - > 91s
>>>> svn export svn://localhost/...       - > 28s
> ...
>> Considering that the meta data includes a complete extra copy of
the
>> files as checked out, that shouldn't be surprising.
> 
> On checkout, every file has to be read once and written twice.
> On export, every file has to be read once and written once.
> So in the above example, I'd expect the checkout time to be
> about 40s, not 90s.
> 
> Is there really anything that would justify a factor of 3?
> 
> Carsten.
> 
>
---------------------------------------------------------------------
> To unsubscribe, e- mail: users- unsubscribe@subversion.tigris.org
> For additional commands, e- mail: users- help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Why such performance gap between checkout and export?

Posted by Carsten Koch <Ca...@icem.com>.
Les Mikesell wrote:
...
>>> svn checkout svn://localhost/...     -> 91s
>>> svn export svn://localhost/...       -> 28s
...
> Considering that the meta data includes a complete extra copy of the
> files as checked out, that shouldn't be surprising.

On checkout, every file has to be read once and written twice.
On export, every file has to be read once and written once.
So in the above example, I'd expect the checkout time to be
about 40s, not 90s.

Is there really anything that would justify a factor of 3?

Carsten.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Why such performance gap between checkout and export?

Posted by Les Mikesell <le...@gmail.com>.
Rainer Sokoll wrote:
> 
>> I have setup a Windows server running SVN 1.4.4 + Apache 2.0.
>> I run some tests locally on the server to avoid impact of network.
>>
>> svn checkout svn://localhost/...     -> 91s
>> svn export svn://localhost/...       -> 28s
>>
>> The tests were run on a source tree of 2500 files / 50 MB.
>>
>> So, it seems that the client is doing a lot of additional things on a
>> checkout but it seems to be much to me.
> 
> If you check out a repo, the client has to write all the meta data into
> the .svn dirs.
> This causes a lot of overhead, of course.

Considering that the meta data includes a complete extra copy of the 
files as checked out, that shouldn't be surprising.

-- 
   Les Mikesell
    lesmikesell@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Why such performance gap between checkout and export?

Posted by Rainer Sokoll <R....@intershop.de>.
On Fri, Aug 10, 2007 at 03:30:32PM +0000, Marziou, Gael wrote:

Hi,

> I have setup a Windows server running SVN 1.4.4 + Apache 2.0.
> I run some tests locally on the server to avoid impact of network.
> 
> svn checkout svn://localhost/...     -> 91s
> svn export svn://localhost/...       -> 28s
> 
> The tests were run on a source tree of 2500 files / 50 MB.
> 
> So, it seems that the client is doing a lot of additional things on a
> checkout but it seems to be much to me.

If you check out a repo, the client has to write all the meta data into
the .svn dirs.
This causes a lot of overhead, of course.

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org