[cvsnt] Performance Note
matthew_schuckmann at amat.com
Wed Apr 20 19:39:25 BST 2005
Warning, rloging large binary files can be extreamly slow, and I would
imagine that other operations on such files would also be slow.
We've got a 400mb binary ,v file (curse you MS Access) (the actuall checked
out file size is 8.5mb and it has ~63 revisions)
and I've found that running the following command on it takes upwards of 50
cvs -q rlog -R -S -rFIX4438 database/calhistory.mdb
It looks like the server is loading the entire file into memory before
finally deciding that the branch tag doesn't exist on the file. I'm guessing
that cvs is memory mapping the file before reading it, or something like
The memory usage on the server goes from about 120mb to almost 1gig while
it's servicing the command.
Part of the problem could be that this system only has 500mb of physical
memory, not enough to hold the file in memory so there could be extra disk
thrashing going on for loading it into virtual memory.
I'm thinking that I can speed this up by getting rid of some unneeded
revisions on this file, using cvs admin -o.
Any other ideas?
The server is a Pentium III 766mhz with 500 mb of memory, running Win 2k.
Client and server running CVSNT 2.05.01 (Travis) Build 1927
On a happier note, I was very impressed that performing this same command on
all of our other 8000 files (360mb, mostly text files) takes less than 2
More information about the cvsnt