易截截图软件、单文件、免安装、纯绿色、仅160KB

【C/C++相关知识】ATOM优化之GCC篇

作者: Yanqing Wang (Intel)
在ATOM程序优化利器中,笔者着重讲述了如何使用Intel Compiler对ATOM应用程序的优化,很多网友都比较感兴趣并想知道在GCC编译器下如何优化ATOM。借此,本文将重点于讨论如何使ATOM应用程序在GCC编译器下优化。
细心的网友可能发现GCC4.4.2手册没有讲述如何在ATOM平台优化,所以要通过GCC对ATOM平台优化,一定要从平台的特性出发。为了便于理解,先回顾一下ATOM平台的特点:
1. ATOM平台的指令是顺序执行的。
2. ATOM平台支持超线程技术,也就是我们通常所说的1C:2T。
3. ATOM平台支持SSE3指令集。
如果我们的GCC编译选项能够满足这基本的三大点,那么相应的应用程序性能也将会有很大提升。
讨论1:ATOM应用程序在ATOM计算机上编译。
对于本机编译而言,这种开发环境相对是比较容易优化的。我们只要关心两个基本点:
1. SSE3指令集。
2. 平台环境(32位还是64位?)。
a) 对于32位操作系统,ATOM应用程序的优化设置为:
-mtune=native -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
说明:
-mtune 表示CPU类型,因为它是本地编译,所以选择native编译选项。
-m32 表示平台是32位OS。
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令,编译器更加代码情况优化。
-mfpmath=sse 表示使用SSE指令浮点库
-O3 表示是第3级别优化
b) 对于64位操作系统,ATOM应用程序的优化设置为:
-mtune=native -m64 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
和32位系统的唯一差别是:使用-m64替代了-m32,这个比较容易理解,不再鳌数了。
讨论2:ATOM应用程序在非ATOM计算机上编译。
相比与讨论1,这里的主要差别是编译的计算器不是ATOM平台,那么默认的本地优化必须手工设置。按照32位和64位的区别,下文还是分别展开。
a) 对于32位操作系统,ATOM应用程序的优化设置为:
-mtune=pentium -m32 -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -O3
说明
-mtune设置为pentium处理器,主要考虑它的指令是顺序执行。这个和ATOM的执行顺序十分吻合,对于程序的效率和节能方面将有很大帮助。
-m32 表示平台是32位OS。
-mmmx -msse -msse2 -msse3 -mssse3 表示它支持MMX和SSE1~3的全部指令,编译器更加代码情况优化。
-mfpmath=sse 表示使用SSE指令浮点库
-O3 表示是第3级别优化
b) 对于64位操作系统,ATOM应用程序的优化设置为:
-mtune=pentium -m64 -mmmx -msse -


相关文档:

ANSI C读书笔记系列之字符集篇 第四章 字节序

"endian"这个词出自<<格列佛游记>>,小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开.我们一般将endian翻译成"字节序",将big endian和little endian称作"大端"和"小端".
在计算机科学领域中,字节序是指存放多字节数据的字节的顺序,典型的情况是整数在内存中的存放方式和 ......

Visual c++ 6.0 ADO access

ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。
_ConnectionPtr接口返回一个记录集或一个空指针。
通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。
使用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。
通常同Cdatabase一样,使用它创建 ......

用Flash与C语言制作工程实时数据动态曲线图

本文旨在说明如何利用Flash和C语言制作BS模式下的实时数据动态曲线图,现在流行的实时数据曲线图,大都是采用了CS模式的开发语言,BS模式的虽有一些实例,比如google上的股市曲线图,但其实现的方式和流程在网上很少能见到。
其运行时的界面如下,数据实时更新,曲线图从左往右动态移动:
下面先讲在实现过程中的工作环境 ......

GNU C的一大特色就是__attribute__机制

GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)
和类型属性(Type Attribute)。
__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。
__at ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号