Yet another INDEX builder.

Kris Kennaway kris at obsecurity.org
Fri Sep 29 15:38:48 PDT 2006


On Sat, Sep 30, 2006 at 12:25:19AM +0200, Thierry Thomas wrote:
> Le Ven 29 sep 06 ? 19:21:22 +0200, Michel Talon <talon at lpthe.jussieu.fr>
>  ?crivait?:
> > Hello,
> 
> Hi,
> 
> > i have written yet another index builder in python, which can be found here:
> > http://www.lpthe.jussieu.fr/~talon/build_index.py
> > I think it works relatively well and fast, and can provide building blocks for
> > doing a package updater alternative to portupgrade.  Of course, like the
> > documentation, it is completely free. I would be happy if some people could
> > test it on a real biproc machine, or a machine with fast disks, to see the
> > timings (*) one gets. On my machine, a P4 3Ghz, oldish, it takes 23 minutes to
> > complete building the INDEX, but the python script doesn't run more than 1
> > minute. Everything else is IO, i think. So one cannot expect any performance
> 
> It took longer on my P4 3.6GHz:
> 
> The tree (15689ports) takes  2789.84287214 seconds to explore.
> Now computing the recursively extended dependencies.
> Took  3.02815794945 seconds.
> Now converting to packages and sorting.
> Last phase takes  4.7659368515 seconds.
> Total time spent:  2800.94901609 seconds.
> python build_index.py  3024,42s user 2050,37s system 181% cpu 46:41,64 total
> 
> Remarks:
> - this is not a benchmark, and I was using the machine in the same time;
> - I have several local ports or local tweaks which have been reported as
> "The port             xxx/yyy is obsolete".

As Michel mentions, INDEX build is almost completely I/O bound, so it
almost entirely depends on the speed of your disk and how congested it
is from other I/O.  Thus it's not really meaningful to compare numbers
from one machine to another, but it still may be useful to compare to
'make index' times.  You should not expect a significant difference
unless something is going wrong though.

FYI, I'm not sure if the python version is parallelizable, but you do
get a small benefit from using parallelized 'make index' builds (via
INDEX_JOBS) on a typical SMP machine.

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20060929/38002d08/attachment.pgp


More information about the freebsd-ports mailing list