Looking for speed increases in "make index" and pkg_version for
ports
Stephen Montgomery-Smith
stephen at math.missouri.edu
Wed May 30 21:35:06 UTC 2007
On Wed, 30 May 2007, Bakul Shah wrote:
> Peter Jeremy <peterjeremy at optushome.com.au> wrote:
>> On 2007-May-27 16:12:54 -0700, Bakul Shah <bakul at 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.
More information about the freebsd-ports
mailing list