Gentoo Archives: gentoo-performance

From: Chris Smith <×××××××.nz>
To: gentoo-performance@l.g.o
Subject: Re: [gentoo-performance] Re: Testing, testing...
Date: Tue, 06 Apr 2004 12:13:23
In Reply to: [gentoo-performance] Re: Testing, testing... by Jerry McBride
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. Cheers, Chris. -- gentoo-performance@g.o mailing list


Subject Author
[gentoo-performance] portage database layer [Was: Testing, testing...] Eldad Zack <eldad@××××××××××××××.cx>
Re: [gentoo-performance] Re: Testing, testing... glen <glen@×××××.ee>