[darcs-users] hashed repos qualitatively for GHC

Simon Marlow marlowsd at gmail.com
Wed Jan 13 19:57:11 UTC 2010


On 13/01/10 17:50, Eric Kow wrote:
> Hi Simon,
>
> On Sat, Jan 09, 2010 at 21:00:34 +0000, Simon Marlow wrote:
>> With a local filesystems it is usable, but I need to test it at work
>> with my NFS-mounted home directory.
>
> Any comments?  I'd like to see if Darcs in its present state is usable
> over NFS.

I'm afraid I'm not at work right now and won't be back for at least 
another week due to being on paternity leave.

I realise getting to the point where GHC could use hashed repos is an 
important goal for darcs, and I'm still very grateful for that. A lot of 
the work you guys are doing is either helping us now, or will do in the 
future.

I expect that what we'll do once 2.4 is out is provide hashed mirrors of 
the main GHC repo, and recommend that people start testing them.  We may 
even make that the default, since then we can vastly simplify our 
"getting the sources" instructions.  If some of us have to stick with 
darcs-1 repos for the time being (e.g. if there turns out to be issues 
with NFS), that's not a big deal.

> We may need to postpone the patch72 cache-splitting till Darcs 2.5, so
> if you could live without it, that'd be great.
>
>> My general perception is that many things are quicker, but operations I
>> would expect to be instant (and were very quick with darcs 1), like
>> pulling/unpulling 1 patch in a GHC repo, are taking several seconds with
>> hashed repos and darcs 2. I've tried optimize --reorder, to no avail.
>> This is resulting in an overall impression of sluggishness, which is
>> unfortunate.
>
> That is most unfortunate.  Looks like Petr has some thoughts on this
> which could appear in a later version of Darcs.

That would be high up my priority list right now, I was encouraged to 
see Petr's analysis even though it doesn't look like an easy fix. It 
appears that all operations that modify the repo are currently 
O(patches), whereas many of them I would expect to be O(1) or at worst 
O(patches since last optimized tag).

Cheers,
	Simon


More information about the darcs-users mailing list