Gentoo Archives: gentoo-user

From: Michael Mol <mikemol@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Firefox-10.0.1 fails to compile on x86
Date: Thu, 23 Feb 2012 21:52:13
Message-Id: CA+czFiAsnNbbkAeh3=ocLN+Ci1tE9MgirUjTZYjojQmQaEOoZQ@mail.gmail.com
In Reply to: [gentoo-user] Re: Firefox-10.0.1 fails to compile on x86 by Nikos Chantziaras
1 On Thu, Feb 23, 2012 at 2:55 PM, Nikos Chantziaras <realnc@×××××.de> wrote:
2 > On 23/02/12 21:42, Michael Mol wrote:
3 >>
4 >> On Thu, Feb 23, 2012 at 2:36 PM, Nikos Chantziaras<realnc@×××××.de>
5 >>  wrote:
6 >>>
7 >>> On 23/02/12 12:44, Mick wrote:
8 >>>>
9 >>>> The irony is that older boxen which would benefit most from building
10 >>>> from
11 >>>> source are constrained in resources to achieve this and have to resort
12 >>>> to
13 >>>> installing bin packages.
14 >>>
15 >>>
16 >>> I doubt that the bin package will be slower than the one compiled from
17 >>> source.  I predict the reverse, in fact.  The bin package will perform
18 >>> better.
19 >>
20 >>
21 >> That seems a strange prediction. What drives that hunch?
22 >
23 >
24 > The PGO optimized build that Mozilla is shipping.  You can also build with
25 > PGO from source, but that means building FF *twice* in a row (by enabling
26 > the "pgo" USE flag).  I doubt that with the old laptop anyone is building FF
27 > twice with PGO, and that means that the -bin package should be faster.
28 >
29 > Furthermore, FF is build using its own CFLAGS.  They are the same in the
30 > source build as well as in the -bin package.  The only difference is
31 > probably the -march option.  And that doesn't make much difference to begin
32 > with (after -march=i686, gains are very minimal).
33
34 I knew and forgot about PGO, but I didn't realize there was a USE flag
35 for it. Neat. I'll be enabling that.
36
37 I disagree with the idea that keeping things down around -march=i686
38 provides only minimal gains. SSE and SSE2 instructions carry a big
39 benefit for numerical operations, especially those which can be
40 parallelized, but not enough to justify batching into a GPU. AVX will
41 be adding operations which allow more useful and flexible use of
42 registers. Simply bumping up to x86-64 from simple x86 doubles your
43 GPRs, which gives the compiler all kinds of room to work with.
44
45 If the combination of those things doesn't significantly benefit a
46 program written in C or C++, then I suspect there's something
47 dreadfully wrong with the architecture of that codebase.
48
49
50 --
51 :wq