Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jun 2007 12:05:13 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Jeremy Lea <reg@FreeBSD.ORG>
Cc:        ports@FreeBSD.ORG, pav@FreeBSD.ORG
Subject:   Re: Speedup for make clean-depends (and thus make clean)
Message-ID:  <20070618120513.1htajt73mgcg804w@webmail.leidinger.net>
In-Reply-To: <20070522092658.mg9k99jkg8oo4o0c@webmail.leidinger.net>
References:  <20070520090149.190a919c@deskjail> <20070521021313.GA63269@flint.openpave.org> <20070521102026.d5y5ckqvk8cwcsg0@webmail.leidinger.net> <20070521222816.GA93550@flint.openpave.org> <20070522092658.mg9k99jkg8oo4o0c@webmail.leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Alexander Leidinger <Alexander@Leidinger.net> (from Tue, 22 =20
May 2007 09:26:58 +0200):

> Quoting Jeremy Lea <reg@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=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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070618120513.1htajt73mgcg804w>