Linux系统中使用GCCCPU参数优化代码编译

文章作者 100test 发表时间 2007:09:11 11:56:48
来源 100Test.Com百考试题网


  使用特定的GCC参数可以使编译出的程序执行效率有较大提升。具体如下:

  1、优化原理:

  在编译程序时,借助参数传递的方法,使用与系统CPU相匹配的gcc参数,编译出的程序就是为系统CPU而进行特定优化过的,因而执行速度和效率都会是最好。

  2、注意事项

  (1) 经过大量测试发现,在RedHat, CentOS系统中通常只能通过参数传递的方法进行编译优化,当然,如果愿意并且能够修改程序的MakeFile也可以达到这一效果,只不过比较复杂,工作量较大。其他在网上广为流传的方法(例如:直接通过.bashrc, /etc/profile声明参数系统变量、写入/etc/make.conf等)经过测试均没有效果。

  (2) 对于Gentoo Linux或FreeBSD可以通过修改/etc/make.conf添加参数的方法来实现,而不必使用参数传递法。

  3、优化步骤:

  (1)确定系统CPU类型:

  # cat /proc/cpuinfo | grep "model name"

  执行后会看到系统中CPU的具体型号,记下CPU型号。

  (2)使用参数传递方法进行编译:(以Pentium4 CPU为例)

  此处以编译Apache为例说明如何使用参数传递:

  # tar xzvf httpd-2.0.55.tar.gz

  # cd httpd-2.0.55

  CHOST="i686-pc-linux-gnu" \

  CFLAGS="-O3 \

  -msse2 \

  -mmmx \

  -mfpmath=sse \

  -mcpu=pentium4 \

  -march=pentium4 \

  -pipe \

  -fomit-frame-pointer" \

  CXXFLAGS="-O3 \

  -msse2 \

  -mmmx \

  -mfpmath=sse \

  -funroll-loops \

  -mcpu=pentium4 \

  -march=pentium4 \

  -pipe \

  -fomit-frame-pointer" \

  ./configure ……

  # make

  # make install



相关文章


对Windows操作系统如何实现DDOS攻击
Linux系统的引导过程详细解析
Linux操作系统上不同文件系统的兼容问题
UbuntuLinux操作系统下Apt-get命令参数
Linux系统中使用GCCCPU参数优化代码编译
Linux操作系统下进行硬盘扩容
Linux操作系统的内核初始化过程详细解析
基于2.6.19内核小型Linux系统制作与移植
Linux中的全能媒体播放软件XINE
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛