|
发表于 2006-2-18 18:05:03
|
显示全部楼层
看我的,AMD64:
CFLAGS="-O3 -march=k8 -msse3 -pipe -fmove-all-movables -fpeel-loops -freduce-all-givs -mno-align-stringops -minline-all-stringops -mno-push-args -ftracer"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
MAKEOPTS="-j2"
这几个:-fmove-all-movables -fpeel-loops -freduce-all-givs -mno-align-stringops -minline-all-stringops -mno-push-args是软件得来的;
不是所有AMD64都支持sse3,而我的CPU核心支持,所以加了一个-msse3,还有,-ftracer是我看过一个牛人作的测评后加上去的,它的确对amd64优化有点用。
至于LDFLAGS,我用得比较保守,我不希望有些软件装不了,所以我这样用:
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
不会有软件不能compile。
再说MAKEOPTS,AMD的U没有超线程,所以没必要设得太多,原则上CPU数量加一即可,所以:
MAKEOPTS="-j2"#当然双核心的例外,那就当两用,-j3
最后说一下CXXFLAGS,因为我的是gcc3.4,所以我没有加特别的优化,如果用gcc4.x的话可以设。 |
|