[darcs-users] Re: darcs apply is very, very slow...
Nimrod A. Abing
nimrod.abing at gmail.com
Tue Feb 13 02:59:07 UTC 2007
Hello,
I have found this thread started only some days ago:
http://lists.osuosl.org/pipermail/darcs-users/2007-February/010830.html
I'm going to try to follow what's been done on this thread to see if
it works for me as well. The size of the repos discussed there have
run into hundreds of MBs. My repo is only 3MB and yet darcs push/apply
is very slow. Here is some more info on the repos I have:
* Both repos are on the same filesystem on the same computer. I think
this is a very important detail i neglected to mention in my last
post.
* Both repos use tags.
* The main repo has some patches that are not in the work repo. The
patches in the work repo may sometimes introduce conflicts.
Anyway, I will try the suggestions posted in the thread I found above
and post back what I come up with here in the next few days.
On 2/11/07, Nimrod A. Abing <nimrod.abing at gmail.com> wrote:
> Hello,
>
> I have a repository consisting of 141 files. I maintain two copies of
> this repo, one for recording changesets for public consumption and the
> other being my working repository.
>
> Recently 127 of those files needed changes to their copyright info. I
> made those changes in my working repo and then when time came to push
> to the public repo, darcs just sits there. I left it running for about
> a hour and when I came back, it still had not finished. I don't think
> that it crashed because darcs soaks up 85% of my CPU. Finally I gave
> up after about 30 minutes (total running time about 1 hour 30
> minutes).
>
> The patch is about 190K with 3,654 lines of text and touches 127 of
> those 141 files. The changes to each file are small. About 4-6 lines
> on average. Although some files have about 10-15 lines modified and
> possibly have some conflicts as well.
>
> This is the first time that I have applied a changeset this large. I
> figured size would not be an issue since it only touches 127 files. I
> have also tried rebuilding darcs using the --enable-antimemoize option
> and tried re-applying the same patch with the new version of darcs.
> There were no noticeable improvements whatsoever.
>
> I then tried something else. I broke up the patch into several
> subpatches. Using some shell scripting I had darcs create one patch
> for each file that was changed.
>
> This time I tried pushing each individual patch. This time I also
> timed the operation using the time command. Here are some results:
>
> [~/Temp/cake-dev]
> nimrod at iwojima:$ time darcs push --patch='Merge changes from
> CakePHP-v-1.1.13.4450 PART 0000000004' -a
> Pushing to "/home/virtual/cake-dev/html/cake"...
> Finished applying...
>
>
> real 0m57.239s
> user 0m47.367s
> sys 0m0.748s
> [~/Temp/cake-dev]
> nimrod at iwojima:$ time darcs push --patch='Merge changes from
> CakePHP-v-1.1.13.4450 PART 0000000005' -a
> Pushing to "/home/virtual/cake-dev/html/cake"...
> Finished applying...
>
>
> real 0m58.420s
> user 0m47.223s
> sys 0m0.768s
> [~/Temp/cake-dev]
> nimrod at iwojima:$ time darcs push --patch='Merge changes from
> CakePHP-v-1.1.13.4450 PART 0000000006' -a
> Pushing to "/home/virtual/cake-dev/html/cake"...
> Finished applying...
>
>
> real 0m53.750s
> user 0m46.779s
> sys 0m0.716s
>
> Each patch is about 1K in size now. And after seeing the results
> above, I'm a bit disappointed that it takes this long to apply a
> single patch. There are 127 of these smaller patches and each one
> takes about a minute to apply. By these figures it will take over 2
> hours to apply all these patches.
>
> Is there anyway to improve this? I am willing to subject myself to
> experimentation :) since this repo is only my side-project and I keep
> backups of everything.
>
> Thanks in advance.
> --
> _nimrod_a_abing_
>
> [?] http://abing.gotdns.com
>
--
_nimrod_a_abing_
[?] http://abing.gotdns.com
More information about the darcs-users
mailing list