hg 1.1 - cvsps memory consumption
Frank A. Kingswood
frank at kingswood-consulting.co.uk
Mon Dec 8 05:09:51 CST 2008
Arne Babenhauserheide wrote:
> When I tried to convert the main repository, I ran into another problem
> though: My system ran out of memory and once cvsps couldn't get more memory,
> it grew extremely slow while still in rlog gathering mode.
>
> Virtual memory consumption was at 2.3 GiB, reserved memory at 1.4 to 1.7 GiB,
> and I had to stop it after 3 days to be able to work with my computer again (I
> only have 2GiB of physical memory).
>
> Is there room for reducing the memory footprint, or is it already optimized to
> the maximum (so that it just needs to manage that much data)?
>
I'm sorry you bumped into memory issues, I saw this is a very large
repository. Some commits go back 15 years!
Most of the data in memory are the filename and log message strings, and
they are shared between duplicate copies. Further savings would be very
hard to come by.
I guess you could tackle one top level directory at a time, and then
merge the resulting repositories, but that would potentially split commits.
CVS rlog has a date option which is not used except to speed up
incremental conversions. You could hack the source quite easily to do an
partial conversion. See hgext/convert/cvsps.py, around line 180. It
already sets a starting date for the incremental conversion, you could
add code for setting an end date.
Frank
--
------------------------------------------------------------------------
Frank A. Kingswood frank at kingswood-consulting.co.uk
Cambridge, United Kingdom +44-7943-217 571
More information about the Mercurial
mailing list