1 |
On Sat, 2004-09-25 at 20:49, Jason Stubbs wrote: |
2 |
|
3 |
> There is a cache format change between 2.0.50 and 2.0.51. The slowdowns are |
4 |
> due to portage doing just-in-time rebuilding of the cache. The first emerge |
5 |
> sync or emerge metadata after an upgrade to portage-2.0.51 will clear it up |
6 |
> altogether. |
7 |
> |
8 |
Yes, that has cleared. |
9 |
|
10 |
> Regards, |
11 |
> Jason Stubbs |
12 |
> |
13 |
|
14 |
I hace _rc3 installed now. I have found one other area that has taken a |
15 |
performance hit with the new portage |
16 |
|
17 |
porthole code fragment: |
18 |
|
19 |
def read_db(self): |
20 |
"""Read portage's database and store it nicely""" |
21 |
tree = portage.db['/']['porttree'] |
22 |
self.get_installed() |
23 |
try: |
24 |
dprint("PORTAGELIB: read_db(); getting allnodes package list") |
25 |
allnodes = tree.getallnodes() |
26 |
dprint("PORTAGELIB: read_db(); Done getting package list") |
27 |
except OSError, e: |
28 |
|
29 |
|
30 |
[/code] |
31 |
|
32 |
The getallnodes() now takes 2 to 8 times longer to complete. It showed |
33 |
up as a very noticeable lag before the data loading progress bar showed |
34 |
any change from 0%. That getallnodes portion of the code was not taken |
35 |
into consideration for the percent calculation before as it was not an |
36 |
time issue. Re-instating some debug staements I was able to pinpoint |
37 |
the lag. The getallnodes portion was about 5 to 15 gtk timeout cycles |
38 |
(about 25-30% of total time) for the thread monitoring function and is |
39 |
now |
40 |
taking 35 to 60 timeout cycles (50-70% of total time). |
41 |
|
42 |
Is there perhaps a better way to get this info with the new portage |
43 |
untill the portage API is integrated? |
44 |
|
45 |
-- |
46 |
Brian <dol-sen@×××××.net> |
47 |
|
48 |
|
49 |
-- |
50 |
gentoo-portage-dev@g.o mailing list |