Subject: Re: pkgsrc make clean speedup
To: David Maxwell <david@fundy.net>
From: None <mcmahill@mtl.mit.edu>
List: tech-pkg
Date: 12/05/2002 06:39:26
Just so I'm sure I understand, it just works by checking for $WRKDIR first
and only cleaning if it exists right? Therefore eliminating up to 3000
calls to make :) So my only question is if it does the right thing if you
have something like
WRKOBJDIR= /u2/disk1/build/pkgsrc
in /etc/mk.conf and possibly a read-only /usr/pkgsrc
In the first case, /usr/pkgsrc/foo/bar/work will be a link to
/u2/disk1/build/pkgsrc/foo/bar/work and in the second,
/usr/pkgsrc/foo/bar/work will never even exist, but
/u2/disk1/build/pkgsrc/foo/bar/work will. As long as those 2 variations
are dealt with then I think this is a good idea.
-Dan
On Wed, 4 Dec 2002, David Maxwell wrote:
>
> Below, I've attached a patch for pkgsrc/mk/bsd.pkg.subdir.mk which
> implements a new target 'fastclean'. This could of course replace the
> 'clean' target instead, if appropriate.
>
> current clean target from toplevel
> 497.330u 218.665s 12:56.43 92.2% 0+0k 6112+7401io 117pf+0wo
> fastclean with Skipping (patch below) from toplevel
> 3.397u 2.219s 0:36.31 15.4% 0+0k 4848+80io 0pf+0w
> fastclean quietly (patch below, minus 'Skipping' echo) from toplevel
> 3.287u 1.815s 0:35.89 14.1% 0+0k 4848+80io 0pf+0w
>
> So, 13 minutes before, and 36 seconds using this patch. I tried taking
> out the 'Skipping' echo, since I thought output overhead might be
> getting significant, but it didn't matter much. Personally, I prefer the
> cleaner (hah) output though.
>
> If there's no discussion, I'll talk to the pkgsrc infrastructure people
> about applying some form of this.
>
> David
>
>