Gentoo Archives: gentoo-user

From: "Jesús Guerrero" <i92guboj@×××××.es>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Gentoo's advantage: 'optimized for your system' -- huh?
Date: Wed, 04 Feb 2009 10:26:54
Message-Id: ed29b3652713014dfab8f4610d7a7e91.squirrel@jesgue.homelinux.org
In Reply to: [gentoo-user] Re: Gentoo's advantage: "optimized for your system" -- huh? by Grant Edwards
1 El Mie, 4 de Febrero de 2009, 7:17, Grant Edwards escribió:
2 > On 2009-02-04, James <wireless@×××××××××××.com> wrote:
3 >
4 >> Grant Edwards <grante <at> visi.com> writes:
5 >>
6 >>
7 >>> Whenever I see a write-up of Gentoo, it's described as a system
8 >>> similar to BSD "ports" where you build packages from source. The main
9 >>> benefit claimed for this approach is that you get better performance
10 >>> because all executables are optimized for exactly the right
11 >>> instruction set. is practically nil in real-world usage.
12 >>
13 >> Not true. You can eliminate many non-essential portions of a
14 >> compiled program, via use flag and the freedom you get to select
15 >> software, as opposed to other distros. Smaller executables are usually
16 >> always faster.
17 >
18 [...]
19 > But that wasn't what I was talking about, and AFAICT that's not
20 > what reviewers are talking about when they talk about adjusting compiler
21 > flags to optimize performance. They seem to be talking about building for
22 > Athlon instead of P4 (or vice-versa).
23 > Perhaps I've always completely misunderstood the articles I've
24 > read, and they were indeed talking about USE flags that control options
25 > passed to "configure" and not about things like gcc's -march and -O
26 > options.
27
28 USe flags can be used for anything. Note that ebuilds are
29 ultimately bash scripts. And USE flags are just that: f-l-a-g-s.
30 Flags are used in a script to control things that can be run -or
31 not- depending on a condition, things like "if in amd64 do this,
32 if not, if hardened do that, if yes and hardened to anything else"...
33 That includes things like activating concrete portions of
34 arch dependent code or a patch, things like passing a simple option
35 to add or remove a dependency, and any other things that you could
36 do manually on a shell.
37
38 It can of course be used as well to adjust CFLAGS and other things
39 depending on the architecture or whatever condition you want. And
40 even more, they can be used to filter CFLAGS that the developers know
41 that are harmful (and that's a big part of the portage stability,
42 because in the past users used to shot themselves on the feet by
43 adding a 20 lines long CFLAGS declaration into their make.conf's.
44
45 Note that reviewers usually test a thing for 2 days, and then they
46 think they are qualified to talk about whatever thing. Some times,
47 these reviews are useless for this reason. They only scratch the
48 surface, giving a bad impression or just a poor one.
49
50 Note that I said "some times", though I think that "most times"
51 is potentially a more correct qualifier.
52
53 --
54 Jesús Guerrero