[darcs-devel] Re: [darcs-users] Profiling results for pull and record
Juliusz Chroboczek
jch at pps.jussieu.fr
Wed Jun 23 11:31:39 PDT 2004
>> > troubles me, since I assumed (perhaps wrongly) that you were just
>> > pulling a single "add everything" patch into an empty repository. If
>> > that is the case, we're definitely doing extra work.
>> Yes, that's what I was doing.
DR> I looked more carefully, and it looks like the problem is in the creation
DR> of the pending file. I think I may have sped things up a bit, but if you
DR> could rerun your timings (and profilings) on the pull with a fresh darcs,
DR> that would be great.
COST CENTRE MODULE %time %alloc ticks bytes
commute Patch 22.1 8.4 356 67463935
coalesce Patch 17.8 0.0 287 6212
push_coalesce_patch Patch 10.1 5.8 163 46521150
So it looks like not much has changed.
Coalesce is called 5692326 times (from push_coalesce_patch, from
sort_coalesce_composite from canonizeComposite from canonize from
sift_for_pending).
Commute is called 6332651 + 13382503 times, the first from
push_coalesce_patch from sort_coalesce_composite, the second from
canonize from sift_for_pending.
In case you want to run that yourself, I'm using +RTS -P -RTS. The
space profile I get with -hc.
Juliusz
More information about the darcs-devel
mailing list