经验谈:如何使你的系统达到最优化? 
1、检查你的gcc版本: 
#gcc --version 
2、获取你的cpu的型号: 
cat /proc/cpuinfo 
3、在/etc/下建立make.conf文件,并根据cpu的型号写入不同内容。注意你的gcc版本必须在3.0以上。 
i386 (Intel): 
CHOST=\"i386-pc-linux-gnu\" 
CFLAGS=\"-march=i386 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=i386 -O3 -pipe -fomit-frame-pointer\" 
i486 (Intel): 
CHOST=\"i486-pc-linux-gnu\" 
CFLAGS=\"-march=i486 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=i486 -O3 -pipe -fomit-frame-pointer\" 
Pentium 1 (Intel) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=pentium -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium -O3 -pipe -fomit-frame-pointer\" 
Pentium MMX (Intel) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=pentium-mmx -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium-mmx -O3 -pipe -fomit-frame-pointer\" 
Pentium PRO (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentiumpro -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentiumpro -O3 -pipe -fomit-frame-pointer\" 
Pentium II (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\" 
Celeron (Mendocino), aka Celeron1 (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium2 -O3 -pipe -fomit-frame-pointer\" 
Pentium III (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\" 
Celeron (Coppermine) aka Celeron2 (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium3 -O3 -pipe -fomit-frame-pointer\" 
Celeron (Willamette?) (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\" 
Pentium 4 (Intel) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=pentium4 -O3 -pipe -fomit-frame-pointer\" 
Eden C3/Ezra (Via) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer\" 
K6 (AMD) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=k6 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=k6 -O3 -pipe -fomit-frame-pointer\" 
K6-2 (AMD) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=k6-2 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=k6-2 -O3 -pipe -fomit-frame-pointer\" 
K6-3 (AMD) 
CHOST=\"i586-pc-linux-gnu\" 
CFLAGS=\"-march=k6-3 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=k6-3 -O3 -pipe -fomit-frame-pointer\" 
Athlon (AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon -O3 -pipe -fomit-frame-pointer\" 
Athlon-tbird, aka K7 (AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon-tbird -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon-tbird -O3 -pipe -fomit-frame-pointer\" 
Athlon-tbird XP (AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\" 
Athlon 4(AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon-4 -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon-4 -O3 -pipe -fomit-frame-pointer\" 
Athlon XP (AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon-xp -O3 -pipe -fomit-frame-pointer\" 
Athlon MP (AMD) 
CHOST=\"i686-pc-linux-gnu\" 
CFLAGS=\"-march=athlon-mp -O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-march=athlon-mp -O3 -pipe -fomit-frame-pointer\" 
603 (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fsigned-char\" 
CXXFLAGS=\"-O3 -pipe -fsigned-char\" 
603e (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fsigned-char\" 
CXXFLAGS=\"-O3 -pipe -fsigned-char\" 
604 (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fsigned-char\" 
CXXFLAGS=\"-O3 -pipe -fsigned-char\" 
604e (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fsigned-char\" 
CXXFLAGS=\"-O3 -pipe -fsigned-char\" 
750 aka as G3 (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-mcpu=750 -O3 -pipe -fsigned-char -mpowerpc-gfxopt\" 
CXXFLAGS=\"-mcpu=750 -O3 -pipe -fsigned-char -mpowerpc-gfxopt\" 
7400, aka G4 (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-mcpu=7400 -O2 -pipe -fsigned-char -maltivec 
-mabi=altivec -mpowerpc-gfxopt\" 
CXXFLAGS=\"-mcpu=7400 -O2 -pipe -fsigned-char -maltivec 
-mabi=altivec -mpowerpc-gfxopt\" 
-fsigned-char -maltivec -mabi=altivec -mpowerpc-gfxopt\" 
7450, aka G4 second generation (PowerPC) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-mcpu=7450 -O2 -pipe -fsigned-char 
-maltivec -mabi=altivec -mpowerpc-gfxopt\" 
CXXFLAGS=\"-mcpu=7450 -O2 -pipe -fsigned-char 
-maltivec -mabi=altivec -mpowerpc-gfxopt\" 
PowerPC (If you don\'t know which one) 
CHOST=\"powerpc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fsigned-char -mpowerpc-gfxopt\" 
CXXFLAGS=\"-O3 -pipe -fsigned-char -mpowerpc-gfxopt\" 
Sparc 
CHOST=\"sparc-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-O3 -pipe -fomit-frame-pointer\" 
Sparc 64 
CHOST=\"sparc64-unknown-linux-gnu\" 
CFLAGS=\"-O3 -pipe -fomit-frame-pointer\" 
CXXFLAGS=\"-O3 -pipe -fomit-frame-pointer\" 
好了,这样做后你编译出的程序运行效率将比以前高很多!只要你有时间,你可以把你的系统如redhat linux 9.0的源代码(后缀.src.rpm)全部重新编译一次,你会发现你的Redhat Linux系统将比原来快一大截! 
############################################################ 
以上我在RedHat Linux 9.0及Mandrake Linux 9.1上通过并证明有效。
                  	
				

caldo 于 2006-07-17 19:27:31发表:
深奥