[cvsnt] out of memory with cvs log...
Tony Hoyle
tmh at nodomain.org
Sat Jun 11 00:06:18 BST 2005
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