QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11478|回复: 25

大家贴一下自己使用的优化参数,好不好

[复制链接]
发表于 2004-11-18 17:46:08 | 显示全部楼层 |阅读模式
大家贴一下自己使用的优化参数,好不好
不要emerge info,太长了



[code:1]CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -pipe -fomit-frame-pointer -march=pentium3 -mcpu=pentium3 -mmmx -msse -mfpmath=sse"
CXXFLAGS="-O3 -pipe -fomit-frame-pointer -march=pentium3 -mcpu=pentium3 -mmmx -msse -mfpmath=sse"
LDFLAGS="-Wl,-O3"[/code:1]
图拉丁赛扬1.3G
发表于 2004-11-18 22:32:22 | 显示全部楼层
Athlon(雷鸟核心)
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4
CXXFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4
[/code:1]


AthlonXP:
[code:1]
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ftracer -fprefetch-loop-arrays -pipe"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
[/code:1]


NEW Athlon 2500+:
[code:1]
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -momit-leaf-frame-pointer -ftracer -fno-crossjumping -falign-functions=16 -falign-loops=16 -falign-jumps=16 -fno-align-labels -maccumulate-outgoing-args -fmove-all-movables"
[/code:1]


Athlon64:
[code:1]
CFLAGS="-O2 -march=athlon64 -ftracer -fprefetch-loop-arrays -pipe"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
[/code:1]


Pentium-m:
[code:1]
CFLAGS="-O3 -march=pentium-m -mtune=pentium-m -pipe -ftracer -fomit-frame-pointer"
[/code:1]


Pentium1 233:
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=pentium-mmx -march=pentium-mmx -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4"
USE="-gtk -gnome -X -qt -kde alsa cdr"
[/code:1]


Pentium2:
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium2 -pipe -fomit-frame-pointer -funroll-loops -mmmx -fforce-addr"
CXXFLAGS="${CFLAGS}"
[/code:1]


Pentium4:
[code:1]
CFLAGS="-march=pentium4 -O3 -ftracer -fprefetch-loop-arrays -funroll-loops -fomit-frame-pointer -pipe"
[/code:1]

_________________
回复

使用道具 举报

发表于 2004-11-20 09:56:53 | 显示全部楼层
你机器真多:)
回复

使用道具 举报

发表于 2004-11-23 11:25:08 | 显示全部楼层
晕,那时从gentoo官方的论坛里统计出来的。
回复

使用道具 举报

发表于 2005-6-24 20:58:09 | 显示全部楼层
gentoo 的都是牛人
lfs 更牛
回复

使用道具 举报

发表于 2005-6-25 09:26:27 | 显示全部楼层
过份优化只能得到一丝心理安慰而以,我个人根本感觉不出来有什么效果,却导致 系统不稳定,编译时间加长,编译出来的程序变大。
我最喜欢的
[code:1]CHOST="i686-pc-linux-gnu"
CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"[/code:1]
回复

使用道具 举报

发表于 2005-6-25 17:37:32 | 显示全部楼层
O1-O3 focus on speed, so maybe size will be bigger, on some machines with a small L2 cache, the speed may be slower at least than expected

SO IMHO, O2 is enough

Someone even recommends Os, which will optimize size
回复

使用道具 举报

发表于 2005-7-2 08:16:58 | 显示全部楼层
gentoo 2005 支持-march=pentium-m吗,我在列表里没有看到啊
回复

使用道具 举报

发表于 2005-7-2 11:55:35 | 显示全部楼层
-march=pentium-m,这个是gcc选项,从哪个版本我记不清了,可以肯定的是3.4.3之后都有的
gentoo这样的发行版,它本身的版本号不是那么重要,反正它里边的软件可以升级的
回复

使用道具 举报

发表于 2005-7-2 14:30:56 | 显示全部楼层
[quote:4dee6b9bd2="linky_fan"]Athlon(雷鸟核心)
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4
CXXFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4
[/code:1]


AthlonXP:
[code:1]
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ftracer -fprefetch-loop-arrays -pipe"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
[/code:1]


NEW Athlon 2500+:
[code:1]
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -momit-leaf-frame-pointer -ftracer -fno-crossjumping -falign-functions=16 -falign-loops=16 -falign-jumps=16 -fno-align-labels -maccumulate-outgoing-args -fmove-all-movables"
[/code:1]


Athlon64:
[code:1]
CFLAGS="-O2 -march=athlon64 -ftracer -fprefetch-loop-arrays -pipe"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
[/code:1]


Pentium-m:
[code:1]
CFLAGS="-O3 -march=pentium-m -mtune=pentium-m -pipe -ftracer -fomit-frame-pointer"
[/code:1]


Pentium1 233:
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=pentium-mmx -march=pentium-mmx -O2 -pipe -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations -falign-functions=4"
USE="-gtk -gnome -X -qt -kde alsa cdr"
[/code:1]


Pentium2:
[code:1]
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium2 -pipe -fomit-frame-pointer -funroll-loops -mmmx -fforce-addr"
CXXFLAGS="${CFLAGS}"
[/code:1]


Pentium4:
[code:1]
CFLAGS="-march=pentium4 -O3 -ftracer -fprefetch-loop-arrays -funroll-loops -fomit-frame-pointer -pipe"
[/code:1]

_________________[/quote]



首先 GCC 所有的优化参数请仔细看这里:
http://www.magiclinux.org/people/kde/web/gcc.html#lbAO

注意:
-fomit-frame-pointer
这个参数已经包含于  -O, -O2, -O3, -Os,再使用就是脱裤子放屁。It also makes debugging impossible on some machines.

-funroll-loops
会对已知次数的循环进行解环、展开,这可能加快代码执行速度,也可能减慢代码执行速度,所以是一个极不可靠的优化参数。而且无论如何都会使生成的代码体积加大,有时非常庞大,故不推荐使用。

-fexpensive-optimizations
这个参数已经包含于 -O2

非常盲目!使用其他优化参数首先应查询它是否已经包含进了 -O1、-O2、-O3,如果已经包含进了你使用的优化级别,再指定就是多余的。
回复

使用道具 举报

 楼主| 发表于 2005-7-2 15:15:01 | 显示全部楼层
首先 GCC 所有的优化参数请仔细看这里:
http://www.magiclinux.org/people/kde/web/gcc.html#lbAO

不同版本的gcc参数是不一样的,这样太武断了
回复

使用道具 举报

发表于 2005-7-2 16:49:57 | 显示全部楼层
CFLAGS="-O2 -march=pentium-m -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
回复

使用道具 举报

 楼主| 发表于 2005-7-2 17:00:39 | 显示全部楼层
又看到Hauser姐了,留个联系方式吧
回复

使用道具 举报

发表于 2005-7-2 23:22:35 | 显示全部楼层
[quote:f6ed13e70b="cnhnln"]
不同版本的gcc参数是不一样的,这样太武断了[/quote]
用gentoo的人还会用古董gcc么
呵呵
我的也是
CFLAGS="-O2 -march=pentium-m -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
另外推荐一本小书,An introduction to gcc
Author: Brian Gough
Forword by RMS
回复

使用道具 举报

 楼主| 发表于 2005-7-2 23:48:36 | 显示全部楼层
这贴就不要加精了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 00:28 , Processed in 0.050916 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表