Date: Sun, 13 May 2007 20:37:57 +1000 From: Peter Jeremy <peterjeremy@optushome.com.au> To: Michel Talon <talon@lpthe.jussieu.fr> Cc: freebsd-hackers@freebsd.org Subject: Re: DPS Initial Ideas Message-ID: <20070513103757.GA33322@turion.vk2pj.dyndns.org> In-Reply-To: <20070512214422.GA88480@lpthe.jussieu.fr> References: <20070512004209.GA12218@lpthe.jussieu.fr> <17989.8202.624522.136573@bhuda.mired.org> <20070512090935.GA13929@lpthe.jussieu.fr> <20070512193302.GA24673@xor.obsecurity.org> <20070512214422.GA88480@lpthe.jussieu.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
--J2SCkAp4GZ/dPZZf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2007-May-12 23:44:22 +0200, Michel Talon <talon@lpthe.jussieu.fr> wrote: >Really i don't think at all this way. I think that *perhaps* SQLite >may marginally better than a Berkeley database for solving part of the >problem, not much more. What i reacted to, was the conservatism which=20 >pervades the community as soon as someone emits the idea of using a new to= ol.=20 So far, the proposal has basically been "SQLite will solve all your problems". Similar magic bullets have been offered in the past and either fail to eventuate or fail to work as promised. If someone were to come up with a concrete proposal and a prototype (possibly in collaboration with one of the SoC people) that actually demonstrated some of the claims then I'm sure you will receive a warmer welcome. >To answer the slowness problem in registering installed packages, one may >think about making use of the INDEX file. In fact all the information that >is necessary to fill the dependency entries is contained in INDEX, and >accessible here in milliseconds with any tool such as awk. The problem is that the master reference for port names and dependency information is the port Makefile. It is very difficult to see how to change this arrangement without causing unaccepable upheaval. Parsing and searching INDEX is very fast but creating it requires running 17000 "make describe"s - which is very slow. You can view INDEX as a cache but working out when (and where) it is out of date is extremely difficult (eg changing a flag in /etc/make.conf can affect the INDEX). The options I can see are: - Ignore the existence of INDEX - which makes computing dependencies very time consuming - Fully rebuild INDEX via "make describe" whenever you update any ports - this takes of the order of an hour - Find and rebuild the changed bits of INDEX - p5-FreeBSD-Portindex uses this approach. - Build a tool that functionally does "make describe" but does it in bulk much faster (eg by pre-parsing the include files once instead of 17000 times). >Yes, and i don't buy the idea that using *existing* tools is better than >using the best tool for the job (assuming one can prove what is the best t= ool, >considering power, familiarity, etc.). Demonstrate a better tool. --=20 Peter Jeremy --J2SCkAp4GZ/dPZZf Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGRuqF/opHv/APuIcRArC4AJoDNQPrWoEPpL04DndUjNiRurbXrwCeJZLN nUcTE0uBRWGBJN4/Jg0S01c= =kx3L -----END PGP SIGNATURE----- --J2SCkAp4GZ/dPZZf--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070513103757.GA33322>