1 |
Ciaran McCreesh wrote: |
2 |
> On Tue, 24 Feb 2009 17:04:28 +0100 |
3 |
> Luca Barbato <lu_zero@g.o> wrote: |
4 |
>> Ciaran McCreesh wrote: |
5 |
>>> On Tue, 24 Feb 2009 08:08:23 +0100 |
6 |
>>> Uh, your benchmarks are nonsense. |
7 |
>> Provide your nonsensical ones. |
8 |
> |
9 |
> You're doubling the number of files that have to be read for an |
10 |
> operation that's almost purely i/o bound. On top of that, you're |
11 |
> introducing a whole bunch of disk seeks in what's otherwise a nice |
12 |
> linear operation. |
13 |
|
14 |
I see words, not numbers. |
15 |
|
16 |
>>> That is not how metadata checks work. |
17 |
>> Explain how they work, regen works that way... |
18 |
> |
19 |
> If metadata is valid, ebuilds aren't opened at all. An optimal |
20 |
> implementation can slurp up the entire directory in one go and then |
21 |
> start pulling out cache entries as it needs them, not having to go back |
22 |
> to the ebuild directory or read its contents at all. Then it can open |
23 |
> and read cache files in a carefully selected order to avoid having to |
24 |
> do any more opens than necessary. |
25 |
|
26 |
So? if the cache is valid then you don't have to source them at all. If |
27 |
you have to regen it, well you have to read everything. |
28 |
|
29 |
>>> By parsing the ebuilds you're talking doubling the number of file |
30 |
>>> reads required to get the job done, and massively increasing the |
31 |
>>> number of seeks required. |
32 |
>> Apparently it doesn't impact anything. |
33 |
> |
34 |
> Please show the patch you created (for Paludis, since Portage doesn't |
35 |
> yet do a lot of the optimisations it could here) that demonstrates this. |
36 |
|
37 |
Paludis isn't portage. |
38 |
|
39 |
>>> But that isn't even the main issue. The main issue is that even if |
40 |
>>> you retroactively pretend that all ebuilds are in a format they're |
41 |
>>> not, and ignore the breakage, and then wait for a year for package |
42 |
>>> managers to try to parse your new format, you *still* can't change |
43 |
>>> name or versioning rules. |
44 |
>> why? when portage would breanch if I put an ebuild with a wacky |
45 |
>> version AND there is a valid cache for that telling its eapi 99 ? |
46 |
> |
47 |
> Because it has to parse that version. Also, the package manager can't |
48 |
> tell whether or not a cache entry is valid if it doesn't recognise the |
49 |
> EAPI in the cache entry. |
50 |
|
51 |
unknown isn't unsupported? |
52 |
|
53 |
>>> Again, these are all things that have been discussed at length |
54 |
>>> previously. Please either come up with a legitimate technical |
55 |
>>> objection, or admit that you've seen the light. |
56 |
>> the glep doesn't show any of those nor reference to it, as I said |
57 |
>> before, do your homework and probably more people will be happier |
58 |
>> with your proposals. |
59 |
> |
60 |
> Why should it? The C++ standard doesn't explain why you should use it |
61 |
> instead of Java... |
62 |
|
63 |
In fact many people do wonderful things with java and many more just do |
64 |
over engineered mess with C++? |
65 |
|
66 |
lu |
67 |
|
68 |
-- |
69 |
|
70 |
Luca Barbato |
71 |
Gentoo Council Member |
72 |
Gentoo/linux Gentoo/PPC |
73 |
http://dev.gentoo.org/~lu_zero |