From owner-freebsd-ports@FreeBSD.ORG Mon May 28 16:34:26 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 A890E16A41F; Mon, 28 May 2007 16:34:26 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from sccmmhc91.asp.att.net (sccmmhc91.asp.att.net [204.127.203.211]) by mx1.freebsd.org (Postfix) with ESMTP id 6015A13C46C; Mon, 28 May 2007 16:34:26 +0000 (UTC) (envelope-from stephen@math.missouri.edu) Received: from laptop2.montlan (12-216-253-187.client.mchsi.com[12.216.253.187]) by sccmmhc91.asp.att.net (sccmmhc91) with ESMTP id <20070528163425m9100d2t98e>; Mon, 28 May 2007 16:34:25 +0000 Message-ID: <465B0490.7080203@math.missouri.edu> Date: Mon, 28 May 2007 11:34:24 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.2) Gecko/20070525 SeaMonkey/1.1.1 MIME-Version: 1.0 To: Stephen Montgomery-Smith , ports@freebsd.org, hackers@freebsd.org References: <4659EF80.70100@math.missouri.edu> <20070527223048.GA37505@icarus.home.lan> In-Reply-To: <20070527223048.GA37505@icarus.home.lan> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: Looking for speed increases in "make index" and pkg_version for ports 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, 28 May 2007 16:34:26 -0000 Jeremy Chadwick wrote: > On Sun, May 27, 2007 at 03:52:16PM -0500, Stephen Montgomery-Smith wrote: >> I have been thinking a lot about looking for speed increases for "make >> index" and pkg_version and things like that. So for example, in >> pkg_version, it calls "make -V PKGNAME" for every installed package. Now >> "make -V PKGNAME" should be a speedy operation, but the make has to load in >> and analyze bsd.port.mk, a quite complicated file with about 200,000 >> characters in it, when all it is needing to do is to figure out the value of >> the variable PKGNAME. > > I have a related question, pertaining to "make all-depends-list" and the > utter atrocity that is the make variable ALL-DEPENDS-LIST. If you don't > know what it is, look for ^ALL-DEPENDS-LIST around line 5175, in > bsd.ports.mk. I posted this to ports@freebsd.org, but now I am realizing that it is hackers@freebsd.org that gets more responses. Anyway, here is a multithreaded program "all-depends-list" that can get you double the speed on dual processor systems, and even some small speed gains on single processor systems. E.g. all-depends-list /usr/ports/x11/xorg http://www.math.missouri.edu/~stephen/all-depends-list.c