From owner-freebsd-ports@FreeBSD.ORG Sun Oct 19 13:39:36 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FE8C1065695 for ; Sun, 19 Oct 2008 13:39:36 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from QMTA07.emeryville.ca.mail.comcast.net (qmta07.emeryville.ca.mail.comcast.net [76.96.30.64]) by mx1.freebsd.org (Postfix) with ESMTP id 1479A8FC1A for ; Sun, 19 Oct 2008 13:39:35 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from OMTA01.emeryville.ca.mail.comcast.net ([76.96.30.11]) by QMTA07.emeryville.ca.mail.comcast.net with comcast id Ud4X1a00B0EPchoA7dfbwk; Sun, 19 Oct 2008 13:39:35 +0000 Received: from koitsu.dyndns.org ([69.181.141.110]) by OMTA01.emeryville.ca.mail.comcast.net with comcast id Udfa1a00G2P6wsM8MdfaVn; Sun, 19 Oct 2008 13:39:35 +0000 X-Authority-Analysis: v=1.0 c=1 a=QycZ5dHgAAAA:8 a=RQ3gWEfsU6ch2iUSTb8A:9 a=dU_H_ZgD0UkS1DSBMmJe4-QLhSgA:4 a=EoioJ0NPDVgA:10 a=LY0hPdMaydYA:10 Received: by icarus.home.lan (Postfix, from userid 1000) id A0A60C9432; Sun, 19 Oct 2008 06:39:34 -0700 (PDT) Date: Sun, 19 Oct 2008 06:39:34 -0700 From: Jeremy Chadwick To: Eitan Adler Message-ID: <20081019133934.GA77293@icarus.home.lan> References: <48FB344E.9040904@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <48FB344E.9040904@gmail.com> User-Agent: Mutt/1.5.18 (2008-05-17) Cc: freebsd-ports@freebsd.org Subject: Re: speed up ports install 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: Sun, 19 Oct 2008 13:39:36 -0000 On Sun, Oct 19, 2008 at 09:21:18AM -0400, Eitan Adler wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > I have a simple idea to make use the threads without any possibility of > conflicts. I am sure there will be someone to point out a negative, but > I don't see any. > When you do "make install" launch a "make fetch-recursive" thread at the > same time. That way you don't need to wait for the files to > install->fetch the next one->install it->fetch the next one... > For those who don't want that you could get the old behavior with "make > onlyinstall". I currently do this with a "make" wrapper script and I > find installation to be faster. What about this scenario? # cd /usr/ports/friendly/apes # make install <"make" finds a dependency which isn't installed, friendly/dogs> <"make" begins to build friendly/dogs, but friendly/dogs is still being downloaded from fetch-recursive, because the source is very large; say, 30MBytes> <"make" for friendly/dogs forks another fetch-recursive......> What I'm trying to say is, there would need to be mechanisms put in place to cause the entire build process to block (halt/pause) until the backgrounded fetch-recursive has completed. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |