当前位置:  技术问答>linux和unix

-O3比-O2还慢?

    来源: 互联网  发布时间:2015-11-27

    本文导语:  我的一个程序 用这个选项 g++ -O3 -fomit-frame-pointer -funroll-loops -fPIC -Wno-deprecated -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 为什么比用这个选项  g++ -g -O2 -Wno-deprecated -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE 还要慢呢? | ...

我的一个程序
用这个选项
g++ -O3 -fomit-frame-pointer -funroll-loops -fPIC -Wno-deprecated -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
为什么比用这个选项 
g++ -g -O2 -Wno-deprecated -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
还要慢呢?

|
`-O3' turns on all optimizations specified by
     `-O2' and also turns on the `-finline-functions', `-fweb',
     `-funit-at-a-time', `-ftracer', `-funswitch-loops' and
     `-frename-registers' options.

也就是说O3比O2多了上面那些选项,你可以试着在O2的基础上加上其中的一些选项,看看最后到底是哪个选项造成速度更慢。

|
`-funroll-loops'
     Unroll loops whose number of iterations can be determined at
     compile time or upon entry to the loop.  `-funroll-loops' implies
     both `-fstrength-reduce' and `-frerun-cse-after-loop'.  This
     option makes code larger, and may or may not make it run faster.


这个选项作为例子可以知道,有的优化选项并不是总能使速度变快。你可以用info gcc看看各个优化选项的帮助。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3