[darcs-users] antimemoization--call to large repo users!
Ivan Stankovic
pokemon at fly.srk.fer.hr
Thu Sep 9 20:44:19 UTC 2004
On Sun, Sep 05, 2004 at 02:39:54PM -0400, David Roundy wrote:
> Hello everyone,
>
> I've just worked the kinks out of a new bit of code to reduce memory
> usage. You can try it out on the latest darcs by configuring with the flag
> --enable-antimemoize. On my little test case of an initial record with
> 1,200 files, this reduces memory usage by about a factor of two. It should
> benefit almost all darcs commands, although really the initial record is
> the only seriously large memory hog. It also in principle will slow the
> code down, and I'm not sure how much--probably never more than a factor of
> two, and hopefully never even close to a factor of two, but there could be
> pathological cases I haven't imagined.
>
> I'd appreciate testers of the antimemoization code, especially people with
> big repos. I'd like to know how much it helps in terms of memory usage,
> how much it slow things down (or speeds things up--that could happen,
> thanks to improved cache behavior, or even more likely if you start
> swapping). And I'd just like to hear that it's working for someone other
> than myself before I even consider making it the default.
I did some testing with both darcs 1.0.0rc1 without antimemoization and
with latest 1.0.0rc2 (with antimemoization enabled). The commands were
darcs init
darcs add -r *
time darcs record -a -m initial
Commands were run on a linux-2.6.5 kernel source tree which consisted of 15646
files spread over 978 directiories. Total tree size was ~217 MB. Tests were
run on a machine with 256 MB of RAM and 512 MB of swap.
darcs 1.0.0rc1:
---------------
real 16m23.527s
user 3m7.800s
sys 0m13.540s
Peak memory usage was around 610MB.
darcs 1.0.0rc2:
---------------
real 35m56.026s
user 6m25.990s
sys 0m17.610s
Peak memory usage was around 680MB.
CPU utilization was mostly the same in both cases.
--
Ivan Stankovic, pokemon at fly.srk.fer.hr
More information about the darcs-users
mailing list