Date: Wed, 30 May 2007 16:35:04 -0500 (CDT) From: Stephen Montgomery-Smith <stephen@math.missouri.edu> To: Bakul Shah <bakul@bitblocks.com> Cc: ports@freebsd.org, Peter Jeremy <peterjeremy@optushome.com.au>, hackers@freebsd.org Subject: Re: Looking for speed increases in "make index" and pkg_version for ports Message-ID: <20070530162949.M65262@math.missouri.edu> In-Reply-To: <20070530205608.486EF5B49@mail.bitblocks.com> References: <20070530205608.486EF5B49@mail.bitblocks.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 30 May 2007, Bakul Shah wrote: > Peter Jeremy <peterjeremy@optushome.com.au> wrote: >> On 2007-May-27 16:12:54 -0700, Bakul Shah <bakul@bitblocks.com> wrote: >>> Given the size and complexity of the port system I have long >>> felt that rather than do everything via more and more complex >>> Mk/*.mk what is is needed is a ports server and a thin CLI >>> frontend to it. >> >> I don't believe this is practical. Both package names and >> port dependencies depend on the options that are selected as >> well as what other ports are already installed. A centralised >> ports server is not going to have access to this information. > > I didn't mean a centralized server at freebsd.org but on your > freebsd system and can know about what ports are installed. > Conditional dependencies have to be dealt with. Perhaps the > underlying reason for changing package names can be handled > in a different way. > > What happens now is that mostly static information from > various files is recomputed many times. While that can be > handled by a local database, it seems to be a daemon provides > a lot of benefits. > > Come to think of it, even a centralized server can work as > there are a finite number of combinations and it can cache > the ones in use. But all this is just an educated guess. Your idea really looks very fine to me. From reading other emails on this thread, I get the impression that a lot of the underlying work has already been done in perhaps the portupgrade port, and so all you would have to do is to provide an interface from the make file to the database produced by portupgrade. Perhaps this could be made conditional, so that those who don't install portupgrade wouldn't use it. Even so, I also get the feeling that to implement this would be quite some work, so a volunteer needs to step forward. But my gut reaction is that this is almost certain to make things like "make clean" and pkg_version way way faster. And I must admit that I am having more doubts about my "calculate the variables just in time" idea. The thought of working really hard to make it work, and then seeing mediocre speed increases is rather offputting to me.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070530162949.M65262>