From owner-freebsd-ports@FreeBSD.ORG Mon Jun 18 10:05:40 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CF86816A41F; Mon, 18 Jun 2007 10:05:40 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.freebsd.org (Postfix) with ESMTP id 1727113C43E; Mon, 18 Jun 2007 10:05:40 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5E4EA.dip.t-dialin.net [84.165.228.234]) by redbull.bpaserver.net (Postfix) with ESMTP id 1ECFD2E14D; Mon, 18 Jun 2007 12:05:32 +0200 (CEST) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 31BD55B49F3; Mon, 18 Jun 2007 12:05:14 +0200 (CEST) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id l5IA5Eeo004715; Mon, 18 Jun 2007 12:05:14 +0200 (CEST) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Mon, 18 Jun 2007 12:05:13 +0200 Message-ID: <20070618120513.1htajt73mgcg804w@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Mon, 18 Jun 2007 12:05:13 +0200 From: Alexander Leidinger To: Jeremy Lea References: <20070520090149.190a919c@deskjail> <20070521021313.GA63269@flint.openpave.org> <20070521102026.d5y5ckqvk8cwcsg0@webmail.leidinger.net> <20070521222816.GA93550@flint.openpave.org> <20070522092658.mg9k99jkg8oo4o0c@webmail.leidinger.net> In-Reply-To: <20070522092658.mg9k99jkg8oo4o0c@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=4.596, required 8, BAYES_50 2.50, DKIM_POLICY_SIGNSOME 0.00, J_CHICKENPOX_52 0.60, MIME_QP_LONG_LINE 1.40, RDNS_DYNAMIC 0.10) X-BPAnet-MailScanner-SpamScore: ssss X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: ports@FreeBSD.ORG, pav@FreeBSD.ORG Subject: Re: Speedup for make clean-depends (and thus make clean) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jun 2007 10:05:41 -0000 Quoting Alexander Leidinger (from Tue, 22 =20 May 2007 09:26:58 +0200): > Quoting Jeremy Lea (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=09user 916.21=09sys 102.80 >> make all-depends-list: >> real 348.25=09user 310.27=09sys 32.01 >> make clean-depends-list: (Your patch) >> real 685.53=09user 611.60=09sys 65.93 >> make clean-depends-full: >> real 346.18=09user 310.53=09sys 31.94 >> make clean-depends-quick: >> real 124.72=09user 119.88=09sys 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 =20 do it (pav@ is interested to run it on the ports build cluster for =20 testing)? If you don't have time, is it ok if I send your patch? Bye, Alexander. >> From bsd.port.mk: >> # clean=09=09- Remove ${WRKDIR} and other temporary files used for buildi= ng. >> # clean-depends=09- Do a "make clean" for all dependencies. >> >> This is the only documentation of the targets that I found. Using the >> limited-clean target would get users exactly the this behaviour - it >> would clean up the port and all of the other ports it depended on that >> were built to statisfy the building of this port. > > I think this should speed up the ports build on the cluster (if they > don't already cheat and have a dedicated FS which is newfs'ed each > time) a little bit (together with the other patches we have, it is a > very nice improvement overall). > >> I've added some more to the attched patch, including the idea of a >> pre-clean, which would be useful for portupgrade, since it could define >> DEPENDS_PRECLEAN and not have to worry about cleaning before building... > > Yes, sounds nice. > > Bye, > Alexander. > > --=20 > Leela: Okay, this has gotta stop. I'm going to remind Fry of his > humanity the way only a woman can. > Professor: You're going to do his laundry? > > http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 > http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 --=20 "The human brain is like an enormous fish -- it is flat and slimy and has gills through which it can see." =09=09-- Monty Python http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137