1 |
On Tue, 10 Jun 2008 11:08:21 -0400 |
2 |
Richard Freeman <rich0@g.o> wrote: |
3 |
> I'm curious as to what operation in particular we're looking at. |
4 |
> Let's say I type in "paludis --sync": |
5 |
|
6 |
paludis --sync doesn't use metadata. |
7 |
|
8 |
> Next, suppose I type in "paludis -pi world": |
9 |
|
10 |
If it's straight after a --sync, then yes, some things are pre-loaded |
11 |
by rsync. Similarly, if it's straight after other operations, then yes, |
12 |
some things are pre-loaded. But we don't plan for "just the use cases |
13 |
that make our life easy". |
14 |
|
15 |
> Why wouldn't everything you need not already be in the cache? And if |
16 |
> something wasn't, then why is reading in the EAPI any slower than |
17 |
> reading in (R)DEPEND/KEYWORDS/IUSE/etc? |
18 |
|
19 |
Currently we don't touch the ebuild's content *at all* for metadata |
20 |
operations, except where there's no or stale metadata cache (which is |
21 |
rare). We can get away with this currently because 0 and 1 have |
22 |
identical cache layouts and PMS has some (necessary) weasel wording; |
23 |
future EAPIs likely won't, so we're back to the chicken / egg problem. |
24 |
|
25 |
So... We either have the EAPI from the extension (which we already |
26 |
have, since we have to read the dir to know what versions are |
27 |
available), in which case we know how to read the metadata cache file. |
28 |
Or we have to open up a file that would otherwise not be opened, just |
29 |
to parse one line so we know how to read the cache file. |
30 |
|
31 |
> What specific operation (from an end-user perspective) is improved by |
32 |
> putting EAPI in the filename? I'm not interested in theoretical |
33 |
> operations like "given a portage tree, find the EAPI of every file" - |
34 |
> users don't do those operations routinely in isolation, but as part |
35 |
> of larger operations where doing an open and a getline now just |
36 |
> speeds up the open and getline that would be executed 500 lines later |
37 |
> anyway. |
38 |
|
39 |
paludis -pi anything on a cold cache. |
40 |
|
41 |
-- |
42 |
Ciaran McCreesh |