Speedup for make clean-depends (and thus make clean)

Pav Lucistnik pav at FreeBSD.org
Mon Jun 18 11:05:11 UTC 2007


Alexander Leidinger píše v po 18. 06. 2007 v 12:05 +0200:
> Quoting Alexander Leidinger <Alexander at Leidinger.net> (from Tue, 22  
> May 2007 09:26:58 +0200):
> 
> > Quoting Jeremy Lea <reg at FreeBSD.ORG> (from Mon, 21 May 2007 15:28:16 -0700):
> >
> >> Hi,
> >>
> >> On Mon, May 21, 2007 at 10:20:26AM +0200, Alexander Leidinger wrote:
> >>> I tried to do the WRKDIR and _DEPEND_DIRS part in one go myself, but
> >>> it was slower than the patch I did post (in the case where all dirs
> >>> are already clean). But I did use another implementation, I did a "set
> >>> -- $$children" and used shift instead of state variables. Did you
> >>> compare the speed of your patch with the speed of my patch (in a
> >>> directory with a lot of dependencies like e.g. gnome2)?
> >>
> >> In /usr/ports/x11/gnome2 (on an up to date port's tree):
> >>
> >> make clean-depends:
> >> real 1030.98	user 916.21	sys 102.80
> >> make all-depends-list:
> >> real 348.25	user 310.27	sys 32.01
> >> make clean-depends-list: (Your patch)
> >> real 685.53	user 611.60	sys 65.93
> >> make clean-depends-full:
> >> real 346.18	user 310.53	sys 31.94
> >> make clean-depends-quick:
> >> real 124.72	user 119.88	sys 3.73
> >>
> >> In other words, it takes my poor old machine 17 minutes to do a 'make
> >> clean' of gnome2 with no existing work directories (i.e. to do nothing).
> >> Of that 5.8 minutes is spent building the list of directories to clean.
> >> Your patch increases that to 11.4 minutes (meaning that 'make clean' is
> >> 33% faster - which matches the numbers you posted).  With my patch it
> >> takes the same time to build the list (meaning 'make clean' is 66%
> >> faster).
> >>
> >> The cheating quick version takes one tenth of the time, because gnome2
> >> directly depends on 57 ports, out of 508 total (on my machine).
> >
> > Yay! Please send-pr and assign to portmgr.
> 
> Hi Jeremy, have you send the patch to gnats? If not, could you please  
> do it (pav@ is interested to run it on the ports build cluster for  
> testing)? If you don't have time, is it ok if I send your patch?

I have this patch locally, it's slated for an exprun next to the
upcoming one.

Of course, filing it in GNATS does not hurt.

-- 
Pav Lucistnik <pav at oook.cz>
              <pav at FreeBSD.org>

Do not meddle in the fashions of wizards,
for they are seasonal and quick to fall out of style!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
	=?ISO-8859-1?Q?_zpr=E1vy?=
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20070618/e8adae8c/attachment.pgp


More information about the freebsd-ports mailing list