首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 系统管理 >> 内核技术 >> 正文

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

  使用特定的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

[1] [2] [3] 下一页

【责编:Yoyo】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航