List Archive: gentoo-performance
Note: Due to technical difficulties, the Archives are currently not up to date.
provides an alternative service for most mailing lists.c.f. bug 424647
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,
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
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 ld.so.conf
- 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.
firstname.lastname@example.org mailing list