Gentoo Logo
Gentoo Spaceship

Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-performance
Lists: gentoo-performance: < Prev By Thread Next > < Prev By Date Next >
To: gentoo-performance@g.o
From: Chris Smith <>
Subject: Re: Re: Testing, testing...
Date: Wed, 7 Apr 2004 00:13:16 +1200
On Tuesday 06 April 2004 11:57, Jerry McBride wrote:
> Nicholas wrote:
> > Ok, This week's project is to test Gentoo's performance...
> How about a "performance wish list" ?
> 1 - Migrate emerge from python to C.
> 2 -  Use a real database for portage instead of a filesystem
> 3 - ....

4 - Profit????

But seriously, folks. Number 2 I can see having good points feature-wise, but 
not performance. Same with number 1.

Is the performance gain in changing portage from python to C actually going to 
count for anything? Especially considering we are in the business of 
compiling every package from scratch (hey, we're talking performance here, 
aren't we?).

I'm willing to be that the speed gained by rewriting portage in a compiled 
language such as C/C++ will definitely be lost in the noise of compile time. 
Think about it:

(XP 1800+, 256mb, 2x40gb raid 0 running kde 3.2.1)
chris root # time emerge bash
real    2m9.906s
user    1m10.093s
sys     0m21.435s

Two minutes 10 seconds. How much of that was spent _NOT_:
- downloading the package 
- md5sum'ming the distfile
- configuring the package
- building the package 
- merging the package to the local filesystem
- regenerating
- Regenerating GNU info directory index

The answer: not a hell of a lot. Maybe 15 seconds MAX. Now with a compiled 
language you could probably cut that down to, say, 5-10 seconds (given that 
IO will limit a lot of these operations). That makes the total build time 2 
minutes-ish which really, isn't a lot of difference.

Then think further: Python makes a brilliant RAD (rapid application 
development) language with high-level modules for almost any task needed to 
be done, which means the programmers have to program less.

So take that time saved for every build (I imagine it'd be relatively 
constant) for every user and have you made up the time that using python has 
saved the portage developers (I realise that this would be a little hard to 
calculate but I believe a valid point.)? Would we see most of the cool 
features we have in portage today if portage was written in a less intuitive 
language such as C?

This has been discussed time and time again in the forums but I can tell you 
now no rewrite is going to happen. Portage-ng will have a core written in 
prolog (IIRC) and will have bindings out to any other language so that the 
language that best suits the task will be used. So keep an eye on portage-ng 
development, there is a project page on the website.


gentoo-performance@g.o mailing list

Re: Re: Testing, testing...
-- glen
portage database layer [Was: Testing, testing...]
-- Eldad Zack
Testing, testing...
-- Nicholas
Re: Testing, testing...
-- Jerry McBride
Lists: gentoo-performance: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: Testing, testing...
Next by thread:
portage database layer [Was: Testing, testing...]
Previous by date:
Re: Testing, testing...
Next by date:
portage database layer [Was: Testing, testing...]

Updated Jun 17, 2009

Summary: Archive of the gentoo-performance mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.