Quoting Alexander Leidinger <[EMAIL PROTECTED]> (from Tue, 22 May 2007 09:26:58 +0200):

Quoting Jeremy Lea <[EMAIL PROTECTED]> (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?

Bye,
Alexander.

From bsd.port.mk:
# clean         - Remove ${WRKDIR} and other temporary files used for building.
# clean-depends - 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.

--
 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 = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137



--
"The human brain is like an enormous fish -- it is flat and slimy and
has gills through which it can see."
                -- Monty Python

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to