1 |
On Saturday 12 June 2004 05:02, Jerry McBride wrote: |
2 |
> |
3 |
> The main problem is this.... the portage database is a file system based |
4 |
> mechanism. That is to say, when you update, search or otherwise use emerge, |
5 |
> the program is busy as hell leafing through thousands of files looking for |
6 |
> what you want.. |
7 |
> |
8 |
> "Hashed", "indexed"??? Not even close.... |
9 |
> |
10 |
> Portage is begging for a decent database engine and I pray it's sql |
11 |
> based.... |
12 |
> |
13 |
> The other hitch is that portage is written in an interpreted language, |
14 |
> Python. Python is an excellent programming language, no doubt about it, but |
15 |
> performance isn't one of it's highlights. Moving portage to C would be so |
16 |
> much better.... |
17 |
|
18 |
Not really, believe me. Although there are parts of portage that should |
19 |
probably be written in c / c++ those are only a small part of all code. |
20 |
|
21 |
The big problem (if you had looked into it) is that currently the only |
22 |
reliable way to read an ebuild is to invoke bash with the whole bagage |
23 |
of /usr/sbin/ebuild.sh. This is why I am so much against dynamic behaviour on |
24 |
the global level. It one breaks the cache, but also makes creating a parser |
25 |
(Currently ebuilds are not parsed by portage!!) so much harder. |
26 |
|
27 |
Paul |
28 |
|
29 |
-- |
30 |
Paul de Vrieze |
31 |
Gentoo Developer |
32 |
Mail: pauldv@g.o |
33 |
Homepage: http://www.devrieze.net |