[cvsnt] out of memory with cvs log...

Tony Hoyle tmh at nodomain.org
Sat Jun 11 00:06:18 BST 2005


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Matt Schuckmann wrote:
> Yes it should have to look at every revision but it shouldn't have to load
> and hold every revision in memory at the same time.
> It seems like the max needed should be the sum of all the log messages + the
> largest revision patch (is that the correct term?) + some over head, which
> should be considerably smaller than the total ,v file size.
> 
> Yes for smaller files loading the entire file into memory maybe convient and
> possibly faster but for larger files it just seems that your asking for a
> major slow down when you start using virtual memory

It's pretty much always done that... there's some optimisation but it's 
the basic algorithm that was inherited from cvs 1.10.8.

Log doesn't need to load the delta text (it does count it though) so 
should be able to get away with much less.. the current implementation 
actually uses a fair bit less memory than the original, but still needs 
the whole file which kinda sucks I admit.

It get a lot stickier if you eg. try to checkout the HEAD revision which 
is stored at the end of the file (there's probably optimisations even 
there.. need to look at that.. I think the storage order of the 
revisions can help provided it's the right way around - not sure it 
actually is though).

Tony




More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook