Gentoo Archives: gentoo-dev

From: Richard Freeman <rich0@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: GLEP 55
Date: Tue, 10 Jun 2008 16:36:35
Message-Id: 484E98E5.8000606@gentoo.org
In Reply to: Re: [gentoo-dev] Re: GLEP 55 by Ciaran McCreesh
1 Ciaran McCreesh wrote:
2 > On Tue, 10 Jun 2008 19:40:22 +0530
3 > "Arun Raghavan" <arunisgod@×××××.com> wrote:
4 >> On Tue, Jun 10, 2008 at 7:32 PM, Ciaran McCreesh
5 >> <ciaran.mccreesh@××××××××××.com> wrote:
6 >> [...]
7 >>>> I don't think that filename-vs-first-line is going to make a big
8 >>>> difference in practical performance.
9 >>> It's about a factor of five difference in cold-cache resolution
10 >>> performance for Paludis.
11 >> Could you please share more details on the experiment that showed this
12 >> kind of performance degradation and the numbers, if possible?
13 >
14 > Shove an open and a getline in when doing what would otherwise be a
15 > successful cache read. It adds a couple of thousand new open()s on
16 > files that would otherwise be left alone, and changes the nice linear
17 > "slurp up things in this directory in order until we don't need
18 > anything else" pattern into "bounce backwards and forwards between lots
19 > of files in two different directories".
20 >
21 > On a cold cache, which is the most common use case, this is very very
22 > nasty.
23 >
24
25 I'm curious as to what operation in particular we're looking at. Let's
26 say I type in "paludis --sync":
27
28 Obviously the first step is to rsync the portage tree. Then we find all
29 modified files (already output by rsync) and update the caches. We
30 already need to fully parse every file to create a dependency tree, so
31 why is it slow to cache the EAPI for each file while we're at it?
32
33 Next, suppose I type in "paludis -pi world":
34
35 Why wouldn't everything you need not already be in the cache? And if
36 something wasn't, then why is reading in the EAPI any slower than
37 reading in (R)DEPEND/KEYWORDS/IUSE/etc?
38
39 What specific operation (from an end-user perspective) is improved by
40 putting EAPI in the filename? I'm not interested in theoretical
41 operations like "given a portage tree, find the EAPI of every file" -
42 users don't do those operations routinely in isolation, but as part of
43 larger operations where doing an open and a getline now just speeds up
44 the open and getline that would be executed 500 lines later anyway.
45
46 Again, I'm not completely opposed to the idea of putting EAPI in the
47 filename, but I'm not convinced that the arguments in favor of it are as
48 clear-cut as some are suggesting. If everybody was open about the
49 pros/cons of each solution and not suggesting that one solution is
50 near-perfect and the others are total non-starters then this whole
51 debate would probably be a whole lot less contentious. When people
52 perceive that somebody isn't honest about the shortcomings of their own
53 proposal then they're less likely to trust them - it is just a human
54 thing...
55 --
56 gentoo-dev@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Re: GLEP 55 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>