[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