From owner-freebsd-ports@FreeBSD.ORG Sat May 12 18:53:33 2007 Return-Path: X-Original-To: freebsd-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 873D816A402 for ; Sat, 12 May 2007 18:53:33 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from alnrmhc14.comcast.net (alnrmhc14.comcast.net [204.127.225.94]) by mx1.freebsd.org (Postfix) with ESMTP id 5E2BC13C448 for ; Sat, 12 May 2007 18:53:33 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from icarus.home.lan (c-71-198-0-135.hsd1.ca.comcast.net[71.198.0.135]) by comcast.net (alnrmhc14) with ESMTP id <20070512185322b1400897hce>; Sat, 12 May 2007 18:53:32 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 06D711FA01D; Sat, 12 May 2007 11:53:22 -0700 (PDT) Date: Sat, 12 May 2007 11:53:22 -0700 From: Jeremy Chadwick To: Stephen Montgomery-Smith Message-ID: <20070512185321.GA62886@icarus.home.lan> Mail-Followup-To: Stephen Montgomery-Smith , Kris Kennaway , "[LoN]Kamikaze" , freebsd-ports@freebsd.org References: <464597C6.3030406@gmx.de> <20070512174011.GA22526@xor.obsecurity.org> <4645FF71.60100@gmx.de> <20070512175824.GA23103@xor.obsecurity.org> <20070512133054.B5588@math.missouri.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070512133054.B5588@math.missouri.edu> User-Agent: Mutt/1.5.15 (2007-04-06) Cc: "\[LoN\]Kamikaze" , freebsd-ports@freebsd.org, Kris Kennaway Subject: Re: Time to abandon recursive pulling of dependencies? 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: Sat, 12 May 2007 18:53:33 -0000 On Sat, May 12, 2007 at 01:33:40PM -0500, Stephen Montgomery-Smith wrote: > I've done a little poking around. As of right now, I think that the > registering takes a huge amount of time inside of a function called > "sortdeps" which may be found in /usr/src/usr.sbin/pkg_install/lib/deps.c. Has anyone built a system with profiled libraries and a pkg_install binary with gcc -pg? gprof output would be incredibly beneficial here. We're grasping at straws until we figure out where most of the time is spent during a port installation. The desire to "move to Berkeley DB and use hashes" (mentioned in another post in this thread) is fine, but that's implying that there's a lot of filesystem I/O going on which could be optimised by using a key/value "database" somehow. No offence, but I'm sceptical of that being the solution to this whole thing. I can see that being somewhat useful for very quickly iterating through a dependency tree, however. Sorry if this seems like a stupid question, but are there any operations during a port install which are done on-the-fly that could be relinquished by utilising something pre-generated and instead managed by a central source (something similar to ports/INDEX-6 in functionality)? Just a thought. -- | 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 |