Gentoo Archives: gentoo-dev

From: Luca Barbato <lu_zero@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)
Date: Tue, 24 Feb 2009 17:17:01
Message-Id: 49A42B86.9010903@gentoo.org
In Reply to: Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009) by Ciaran McCreesh
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

Replies