[darcs-users] darcs patch: switch Darcs.Patch.FileName to be ByteString.Char8 int...

Ian Lynagh igloo at earth.li
Fri Oct 2 21:10:41 UTC 2009


On Fri, Oct 02, 2009 at 01:08:34PM -0700, Jason Dagit wrote:
> On Fri, Oct 2, 2009 at 10:24 AM, Ian Lynagh <igloo at earth.li> wrote:
> 
> > $ darcs --version
> > 1.0.9rc1 (release candidate 1)
> >
> > $ time darcs record -lam 'imported linux-2.6.31.1' +RTS -sstderr
> > ...
> > 39 Mb total memory in use
> >
> 
> Only 39Mb?  That's less than the compressed patch, so I find it hard to
> believe.

If you're just concatenating all diffs into a patch, you don't need

> Darcs 2.3.1 is taking around 500 megs of physical ram for me just
> to abort before recording (eg., echo q | darcs record ... ).  I guess I
> should get a copy of 1.0.9 on my machine for doing comparisons with.
> 
> Ian, do you happen to know what version of ghc was used to compile your
> 1.0.9 version?

Old enough that it doesn't support +RTS --info. Probably 6.6 (i.e. what
Debian oldstable has).

> I can't find it in roundup, but there is at least one bug where darcs had a
> short cut for this use case but later the patch is prohibitively expensive
> to work with.  I don't know if that is the case with 1.0.9.  It would
> certainly be interested if you could actually do useful things with the
> patch you have recorded (such as commute other patches with it).

You typically wouldn't want to commute other patches with an initial
checkin, but darcs could in principle support it by using temporary
files for the intermediate results rather than holding everything in
memory.

With a 1G RAM limit:

I can "get" it:
53 Mb total memory in use
7.38s user 28.01s system 23% cpu 2:32.18 total

I can't "pull -a" it.


Thanks
Ian



More information about the darcs-users mailing list