当前位置: 技术问答>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
还要慢呢?
用这个选项
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的基础上加上其中的一些选项,看看最后到底是哪个选项造成速度更慢。
`-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看看各个优化选项的帮助。
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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。