What's new

Gentoo optimizations

AlphaWolf

I prey, not pray.
I just did a full install of gentoo in a VM, and I only have two things to say: awesome distro. It was extremely fast, and the emerge package manager is simply the best one I have ever seen, so I am about to replace redhat with it on my server. One question though, can one of you gentoo gurus suggest what make.conf settings I should use for a regular athlon thunderbird 800mhz?
 

Hacktarux

Emulator Developer
Moderator
Without -O there's no optimization with -O1 -O2 -O3 it optimizes more and more for speed.

-Os is used to optimize size of binaries. A side effect is that it's faster to run software compiled with this flag but it could be slower once it's launched.
 

Slougi

New member
I wouldn't use -O3 on a server, as it can cause instability due to the optimizations. -O2 is more like it, although -Os is better on a server w/o high load.

From gcc man page:

Code:
 Options That Control Optimization
                                                                                                                 
       These options control various sorts of optimizations:
                                                                                                                 
       -O
       -O1 Optimize.  Optimizing compilation takes somewhat more time, and a
           lot more memory for a large function.
                                                                                                                 
           Without -O, the compiler's goal is to reduce the cost of compila-
           tion and to make debugging produce the expected results.  State-
           ments are independent: if you stop the program with a breakpoint
           between statements, you can then assign a new value to any variable
           or change the program counter to any other statement in the func-
           tion and get exactly the results you would expect from the source
           code.
                                                                                                                 
           With -O, the compiler tries to reduce code size and execution time,
           without performing any optimizations that take a great deal of com-
           pilation time.
                                                                                                                 
       -O2 Optimize even more.  GCC performs nearly all supported optimiza-
           tions that do not involve a space-speed tradeoff.  The compiler
           does not perform loop unrolling or function inlining when you spec-
           ify -O2.  As compared to -O, this option increases both compilation
           time and the performance of the generated code.
                                                                                                                 
           -O2 turns on all optional optimizations except for loop unrolling,
           function inlining, and register renaming.  It also turns on the
           -fforce-mem option on all machines and frame pointer elimination on
           machines where doing so does not interfere with debugging.
                                                                                                                 
           Please note the warning under -fgcse about invoking -O2 on programs
           that use computed gotos.
                                                                                                                 
       -O3 Optimize yet more.  -O3 turns on all optimizations specified by -O2
           and also turns on the -finline-functions and -frename-registers options.

-O0 Do not optimize.
                                                                                                                 
       -Os Optimize for size.  -Os enables all -O2 optimizations that do not
           typically increase code size.  It also performs further optimiza-
           tions designed to reduce code size.
                                                                                                                 
           If you use multiple -O options, with or without level numbers, the
           last such option is the one that is effective.

Personally I use -Os on everything, both my desktop and server/router.
 
OP
AlphaWolf

AlphaWolf

I prey, not pray.
I won't be installing X on this computer (unless it has needed libraries for stuff I am using). This server will serve only two purposes. It will function as a file server only accessable within my home lan, and I will also upload media to it which will be processed (e.g. convert to divx, svcd, etc) via commands from a bash shell, or an X11 server that I will be running on my local windows PCs (all this requires is a copy of putty, and a lite install of cygwin, no remote desktop or VNC crap necessary). It would be nice, however, to have video encoding go as fast as possible.
 
Last edited:

Top