Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Feb 2007 11:36:39 -0700
From:      "Coleman Kane" <zombyfork@gmail.com>
To:        "John Nielsen" <lists@jnielsen.net>
Cc:        freebsd-hackers@freebsd.org, David Gilbert <dgilbert@dclg.ca>
Subject:   Re: portupgrade O(n^m)?
Message-ID:  <346a80220702141036j29485688gf052be8f4432eed5@mail.gmail.com>
In-Reply-To: <200702141255.53501.lists@jnielsen.net>
References:  <17875.18893.789217.224987@canoe.dclg.ca> <200702141255.53501.lists@jnielsen.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/14/07, John Nielsen <lists@jnielsen.net> wrote:
>
> On Wednesday 14 February 2007 12:41, David Gilbert wrote:
> > I have 734 ports installed on my laptop right now.  I'm pretty sure,
> > at times, I've had over 1000 ports on my laptop.
> >
> > On machine with moderate numbers of ports (most servers seem to have
> > 50 to 200 ports), portupgrade takes a moderate amount of time to start
> > work.  On machines like my laptop, portupgrade seems to take much more
> > time to run.  I assume it's solving the dependency graph before it
> > decides what to upgrade first, but is this truly a O(n^2) problem?  It
> > seems like the implemented algorithm is O(n^2).
>
> Just a "me too". I noticed a huge increase in time for portupgrade when I
> started using the modular Xorg ports tree and upgraded to X.org 7.2RC. The
> number of installed ports on my machine went from just over 300 to well
> over
> 600 as a result of the upgrade. Specifying small numbers of ports (without
> globbing) to portupgrade doesn't seem to take much more time,
> but "portupgrade -a" or anything similar takes forever now. If there is an
> optimization to be made there it would be good to do it before modular
> xorg
> hits the official tree.
>
> JN


I've also had this problem. I have found that if I perform a "portsdb -U &&
pkgdb -F" every time following a cvsup that portupgrade doesn't try to go
through the full ports indexing steps again.

It is still slow, and any improvement that can be made should be. It is
already a significant enough pain that most ports build in a shorter amount
of time than it takes portupgrade to update its database.

--
Coleman Kane



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?346a80220702141036j29485688gf052be8f4432eed5>