On Mon, Aug 27, 2001 at 08:34:18AM -0400, Will Coleda wrote:
>
> Remember my previous 'make distclean' thread? When I started this
> conversation, I was trying to get things up and running on cygwin,
> which appears to take FOREVER on make distclean, presumably because of
> all the process spawning. The timing seems quite reasonable on other
> platforms. (words cannot convey how hideously slow it was)
Depends. Here's the raw time timings for make distclean on a slow machine:
real 2m51.417s
user 1m46.340s
sys 0m33.200s
real 3m17.077s
user 1m46.930s
sys 0m33.560s
real 2m53.573s
user 1m46.150s
sys 0m33.630s
whereas here are the times for rm -rf of the source tree:
real 0m9.388s
user 0m0.470s
sys 0m1.370s
real 0m4.941s
user 0m0.460s
sys 0m1.260s
real 0m4.514s
user 0m0.480s
sys 0m1.280s
and then a perl script clonetree that makes a complete hardlink copy of a
clean source tree you happened to already have. :-)
real 0m22.700s
user 0m15.390s
sys 0m5.670s
real 0m22.794s
user 0m15.680s
sys 0m5.100s
real 0m31.155s
user 0m15.670s
sys 0m6.310s
As you can see, rm -rf followed by cloning a tree is about 4 times faster
than make distclean. If you've got gnu cp, and it can do the link tree
(cp -lr) then it's about 10 times faster than clonetree.
Can cygwin do hard links? If not, can it do symlinks? There's already a
-Dmksymlinks in Configure that will make a symlink forest into an empty
directory, leaving (almost (chmod 0666 grumble grumble)) virgin source code
in another directory.
clonetree.pl can be added to the smoking kit if Merijn thinks it sensible.
Nicholas Clark