You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Alfredo Anderson <al...@hotmail.com> on 2006/03/17 22:36:46 UTC

CVSNT and Subversion binary file handling comparison

<html><div style='background-color:'><DIV class=RTE>Hi, we are evaluating CVSNT and Subversion.<BR></DIV>
<DIV class=RTE>Comparing binary files handling, we've found that CVSNT seems to be much more efficient than Subversion. </DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>We tested with the file mysql-noinstall-5.0.18-win32.zip (38.401.269 bytes) , downloaded from <A href="http://www.mysql.com">www.mysql.com</A></DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>The next table shows the file system space used by subversion and CVSNT after operations 1, 2, 3 y 4.</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4</DIV>
<DIV class=RTE>SVN:&nbsp;&nbsp;&nbsp; 37.932.031&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 37.983.254&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 46.071.560&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 72.523.597</DIV>
<DIV class=RTE>CVS:&nbsp;&nbsp;&nbsp; 38.535.677&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38.587.299&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38.779.655&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38.990.102 </DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>1:&nbsp; zip file added to the repository </DIV>
<DIV class=RTE>2: access.cfg file was eliminated from the .zip&nbsp; and the change was commited</DIV>
<DIV class=RTE>3: mysqlclient.lib file was eliminated from the .zip&nbsp; and the change was commited</DIV>
<DIV class=RTE>4: mysqld-debug.exe file was eliminated from the .zip&nbsp; and the change was commited</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>On our first test we used a zip file with compressed images and we got similar results. Then we used the mysql installer to work on a public accesible file (in case that someone was interested in checking our results).</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Somebody can confirm that the performance difference in handling binary files between CVSNT and Subversion is indeed like the one that our tests show up ?</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>There is a way to improve the binary files handling of Subversion ?</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Regards</DIV>
<DIV class=RTE>&nbsp;</DIV></div></html>


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

Re: CVSNT and Subversion binary file handling comparison

Posted by Alfredo Anderson <al...@hotmail.com>.
C:\>svn --version
svn, versiĆ³n 1.3.0 (r17949)
   compilado Jan 15 2006, 23:18:48
...

FSFS backend.

Regards


>From: Scott Palmer <sc...@2connected.org>
>To: "users@subversion subversion" <us...@subversion.tigris.org>
>Subject: Re: CVSNT and Subversion binary file handling comparison Date: 
>Fri, 17 Mar 2006 18:35:21 -0500
>
>
>On 17-Mar-06, at 5:36 PM, Alfredo Anderson wrote:
>
>>Hi, we are evaluating CVSNT and Subversion.
>>Comparing binary files handling, we've found that CVSNT seems to be  much 
>>more efficient than Subversion.
>>
>
>What version of Subversion?
>What backend FSFS or Berkley DB?
>
>---------------------------------------------------------------------
>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: CVSNT and Subversion binary file handling comparison

Posted by Scott Palmer <sc...@2connected.org>.
On 17-Mar-06, at 5:36 PM, Alfredo Anderson wrote:

> Hi, we are evaluating CVSNT and Subversion.
> Comparing binary files handling, we've found that CVSNT seems to be  
> much more efficient than Subversion.
>

What version of Subversion?
What backend FSFS or Berkley DB?

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

Re: CVSNT and Subversion binary file handling comparison

Posted by Simon Butler <si...@icmethods.com>.
hi, did you compare times for checkout/update/commit etc ?

rgds.

On Mar 17, 2006, at 2:36 PM, Alfredo Anderson wrote:

> Hi, we are evaluating CVSNT and Subversion.
> Comparing binary files handling, we've found that CVSNT seems to be  
> much more efficient than Subversion.
>
> We tested with the file mysql-noinstall-5.0.18-win32.zip  
> (38.401.269 bytes) , downloaded from www.mysql.com
>
> The next table shows the file system space used by subversion and  
> CVSNT after operations 1, 2, 3 y 4.
>
>             1                      2                       
> 3                      4
> SVN:    37.932.031        37.983.254        46.071.560         
> 72.523.597
> CVS:    38.535.677        38.587.299        38.779.655         
> 38.990.102
>
> 1:  zip file added to the repository
> 2: access.cfg file was eliminated from the .zip  and the change was  
> commited
> 3: mysqlclient.lib file was eliminated from the .zip  and the  
> change was commited
> 4: mysqld-debug.exe file was eliminated from the .zip  and the  
> change was commited
>
> On our first test we used a zip file with compressed images and we  
> got similar results. Then we used the mysql installer to work on a  
> public accesible file (in case that someone was interested in  
> checking our results).
>
> Somebody can confirm that the performance difference in handling  
> binary files between CVSNT and Subversion is indeed like the one  
> that our tests show up ?
>
> There is a way to improve the binary files handling of Subversion ?
>
> Regards
>
> ---------------------------------------------------------------------  
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org For  
> additional commands, e-mail: users-help@subversion.tigris.org


Re: CVSNT and Subversion binary file handling comparison

Posted by Phillip Susi <ps...@cfl.rr.com>.
Are you sure you accounted for the space correctly?  I find these 
results rather odd because it is known that svn stores binary deltas for 
all files ( it doesn't know or care if they are text or binary ) but cvs 
stores each revision of a binary file in its entirety, so versioning 
binary files this way takes up a lot of space.


Alfredo Anderson wrote:
> Hi, we are evaluating CVSNT and Subversion.
> Comparing binary files handling, we've found that CVSNT seems to be much 
> more efficient than Subversion.
>  
> We tested with the file mysql-noinstall-5.0.18-win32.zip (38.401.269 
> bytes) , downloaded from www.mysql.com <http://www.mysql.com>
>  
> The next table shows the file system space used by subversion and CVSNT 
> after operations 1, 2, 3 y 4.
>  
>             1                      2                      
> 3                      4
> SVN:    37.932.031        37.983.254        46.071.560        72.523.597
> CVS:    38.535.677        38.587.299        38.779.655        38.990.102
>  
> 1:  zip file added to the repository
> 2: access.cfg file was eliminated from the .zip  and the change was commited
> 3: mysqlclient.lib file was eliminated from the .zip  and the change was 
> commited
> 4: mysqld-debug.exe file was eliminated from the .zip  and the change 
> was commited
>  
> On our first test we used a zip file with compressed images and we got 
> similar results. Then we used the mysql installer to work on a public 
> accesible file (in case that someone was interested in checking our 
> results).
>  
> Somebody can confirm that the performance difference in handling binary 
> files between CVSNT and Subversion is indeed like the one that our tests 
> show up ?
>  
> There is a way to improve the binary files handling of Subversion ?
>  
> Regards
>  


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

Re: CVSNT and Subversion binary file handling comparison

Posted by Phillip Susi <ps...@cfl.rr.com>.
The --rsyncable option to gzip results in some loss of compression 
because it stops and restarts the compressor periodically to contain the 
fallout from small changes in the source data.  To my knowledge nobody 
has tried to do this with bzip2 because the loss in compression would be 
even higher with that compressor.

In any case, IIRC, "zip" files individually compress each file packed 
inside them rather than compressing the entire archive as a solid chunk. 
  This results in adding or removing files leaving small binary diffs 
with the older version.

Ryan Schmidt wrote:
> Alfredo, Subversion works best with text files and other files 
> (generally uncompressed files) where the difference between one revision 
> of a file and the next can be efficiently expressed as a diff. Try your 
> test again with uncompressed files and see if Subversion performs any 
> better in regard to this metric. Also, note that some compression 
> formats, like gzip, offer an option that makes them work better for 
> programs that want to compute differences; gzip calls this the 
> "rsyncable" option because it's commonly used with the rsync program. I 
> found this page which describes that option:
> 
> http://glasnost.beeznest.org/articles/206
> 
> If you can compress your files with gzip and the rsyncable option 
> instead of zip, you may see better disk space usage in the repository.
> 
> bzip2 compresses better than gzip; Google may be able to help you 
> discover whether bzip2 offers a similar "rsyncable" option.
> 


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

Re: CVSNT and Subversion binary file handling comparison

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 18, 2006, at 01:54, Kevin Grover wrote:

>> Comparing binary files handling, we've found that CVSNT seems to  
>> be much more efficient than Subversion.
>>
>> We tested with the file mysql-noinstall-5.0.18-win32.zip  
>> (38.401.269 bytes) , downloaded from www.mysql.com
>>
>> The next table shows the file system space used by subversion and  
>> CVSNT after operations 1, 2, 3 y 4.
>>
>>             1                      2                       
>> 3                      4
>> SVN:    37.932.031        37.983.254        46.071.560         
>> 72.523.597
>> CVS:    38.535.677        38.587.299        38.779.655         
>> 38.990.102
>>
>> 1:  zip file added to the repository
>> 2: access.cfg file was eliminated from the .zip  and the change  
>> was commited
>> 3: mysqlclient.lib file was eliminated from the .zip  and the  
>> change was commited
>> 4: mysqld-debug.exe file was eliminated from the .zip  and the  
>> change was commited
>
> However, keep in mind that Subversion keeps a local 'clean' copy of  
> files.  When you commit those clean copies must be updated also.   
> If you where to test updates on a very slow or dialup connection  
> (or with vary large binary files), I'd guess that you'd find  
> Subversion faster: It creates the deltas locally and only transmits  
> that data.   Also, because of the local clean copies, you can do  
> comparisions and reverts on your working copy while not having  
> access to the repository (while on a plane for example).

Kevin, he wasn't talking about how long anything takes, and he wasn't  
talking about disk space used on the client; he was talking about  
disk space used on the server. True, there are other considerations  
which might should be more important, given how cheap disks are now.

Alfredo, Subversion works best with text files and other files  
(generally uncompressed files) where the difference between one  
revision of a file and the next can be efficiently expressed as a  
diff. Try your test again with uncompressed files and see if  
Subversion performs any better in regard to this metric. Also, note  
that some compression formats, like gzip, offer an option that makes  
them work better for programs that want to compute differences; gzip  
calls this the "rsyncable" option because it's commonly used with the  
rsync program. I found this page which describes that option:

http://glasnost.beeznest.org/articles/206

If you can compress your files with gzip and the rsyncable option  
instead of zip, you may see better disk space usage in the repository.

bzip2 compresses better than gzip; Google may be able to help you  
discover whether bzip2 offers a similar "rsyncable" option.



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

Re: CVSNT and Subversion binary file handling comparison

Posted by Kevin Grover <ko...@yahoo.com>.
Interesting.

However, keep in mind that Subversion keeps a local 'clean' copy of files.  When you commit those clean copies must be updated also.  If you where to test updates on a very slow or dialup connection (or with vary large binary files), I'd guess that you'd find Subversion faster: It creates the deltas locally and only transmits that data.   Also, because of the local clean copies, you can do comparisions and reverts on your working copy while not having access to the repository (while on a plane for example).

Futhermore, with Subversion you get versioned properties and directory and rename tracking.  Because of all of these, I would suggest you not be 'fooled' by a possibly meaningless statistic.

After using both CVS and SVN, I am loath to go back to CVS.  I find branching and tags much easier in SVN. 

An Off-Topic Aside:
The only thing that has prevented me from converting all of my old CVS repositories to SVN is that I can not seem to get Subversion to compile on a (very) old AIX box (AIX 4.2.1).  I have to keep that old OS around (for a few years anyway) because of an application that I must run in it.  (Politics and OS library issues).  We've talked about just moving the repository to SVN to a Linux box and then using Linux so do the SVN stuff and just serve the filesystem via NFS.

Anway, good luck.  It would be interesting to see a real-world comparision of CVSNT and SVN, but keep in mind the other benifits before deciding.

- Kevin

----- Original Message ----
From: Alfredo Anderson <al...@hotmail.com>
To: users@subversion.tigris.org
Sent: Friday, March 17, 2006 2:36:46 PM
Subject: CVSNT and Subversion binary file handling comparison 

Hi, we are evaluating CVSNT and Subversion.

 Comparing binary files handling, we've found that CVSNT seems to be much more efficient than Subversion. 
  
 We tested with the file mysql-noinstall-5.0.18-win32.zip (38.401.269 bytes) , downloaded from www.mysql.com
  
 The next table shows the file system space used by subversion and CVSNT after operations 1, 2, 3 y 4.
  
             1                      2                      3                      4
 SVN:    37.932.031        37.983.254        46.071.560        72.523.597
 CVS:    38.535.677        38.587.299        38.779.655        38.990.102 
  
 1:  zip file added to the repository 
 2: access.cfg file was eliminated from the .zip  and the change was commited
 3: mysqlclient.lib file was eliminated from the .zip  and the change was commited
 4: mysqld-debug.exe file was eliminated from the .zip  and the change was commited
  
 On our first test we used a zip file with compressed images and we got similar results. Then we used the mysql installer to work on a public accesible file (in case that someone was interested in checking our results).
  
 Somebody can confirm that the performance difference in handling binary files between CVSNT and Subversion is indeed like the one that our tests show up ?
  
 There is a way to improve the binary files handling of Subversion ?
  
 Regards
  

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