Re: Packages build, news and bugs

[ Thread Index | Date Index | More lists.tuxfamily.org/slitaz Archives ]


Hi Christophe,

I think we had this discussion on "-Os" Vs "-O2" (size vs speed) long time back for super-fast booting. I believe we can reach midway if Kernel compilation is done using "-O2" and the rest is compiled with "-Os".

 From phoronix , you can see that in some cases "-Os" works better in performance than "-O2" (http://global.phoronix-test-suite.com/index.php?k=profile&u=staalmannen-231-8340-1312).  The reason is that "-Os" produces small executables and the CPU takes lesser time to move data around cache. The new intel chips, however, now contain pre-caching to improve performance gains for "bigger" executables produced by "-O2". So, as Alexander points out that playing with cache size parameters may be really helpful too.
It is also possible that some binaries may not compile with "-Os"..

My take is to use a midway: compile kernel with "-O2"; compile rest (as long as the binary compiles) with "-Os"

Useful links (from google) for you to decide:
* http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Optimize-Options.html
* http://phoronix.com/forums/showthread.php?29090-CompilerDeathMatch-surprising-results/page2

Thanks

Rohit

On Sun, May 22, 2011 at 3:50 AM, Alexander Medvedev <devl547@xxxxxxxxx> wrote:
>Less perf on what ?

Runtime performance. -Os disables code and data alignment (-falign-*), that saves space, but decreases speed on CPUs without efficient unaligned access.
According to google and some testing not long ago on Phoronix and linux.org.ru, it is a compromise between ~10% saved space or 10% of performance.

A small suggestion - try playing with LTO and l1/l2 cache size parameteres.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/