• GCC 优化选项 -O1 -O2 -O3 -OS 优先级,-FOMIT-FRAME-POINTER(O3的优化很小,只增加了几条优化而已)


    四种编译优化类型的解释:

    `-O ' 
    `-O1 ' 
                    Optimize.      Optimizing   compilation   takes   somewhat   more   time,   and   a 
                    lot   more   memory   for   a   large   function. 
      
                    With   `-O ',   the   compiler   tries   to   reduce   code   size   and   execution 
                    time,   without   performing   any   optimizations   that   take   a   great   deal 
                    of   compilation   time. 
      
                    `-O '   turns   on   the   following   optimization   flags: 
                                   -fdefer-pop    
                                   -fdelayed-branch    
                                   -fguess-branch-probability    
                                   -fcprop-registers    
                                   -floop-optimize    
                                   -fif-conversion    
                                   -fif-conversion2    
                                   -ftree-ccp    
                                   -ftree-dce    
                                   -ftree-dominator-opts    
                                   -ftree-dse    
                                   -ftree-ter    
                                   -ftree-lrs    
                                   -ftree-sra    
                                   -ftree-copyrename    
                                   -ftree-fre    
                                   -ftree-ch    
                                   -funit-at-a-time    
                                   -fmerge-constants 
      
                    `-O '   also   turns   on   `-fomit-frame-pointer '   on   machines   where   doing 
                    so   does   not   interfere   with   debugging. 
      
                    `-O '   doesn 't   turn   on   `-ftree-sra '   for   the   Ada   compiler.      This 
                    option   must   be   explicitly   specified   on   the   command   line   to   be 
                    enabled   for   the   Ada   compiler. 
      
    `-O2 ' 
                    Optimize   even   more.      GCC   performs   nearly   all   supported 
                    optimizations   that   do   not   involve   a   space-speed   tradeoff.      The 
                    compiler   does   not   perform   loop   unrolling   or   function   inlining   when 
                    you   specify   `-O2 '.      As   compared   to   `-O ',   this   option   increases 
                    both   compilation   time   and   the   performance   of   the   generated   code. 
      
                    `-O2 '   turns   on   all   optimization   flags   specified   by   `-O '.      It   also 
                    turns   on   the   following   optimization   flags: 
                                   -fthread-jumps    
                                   -fcrossjumping    
                                   -foptimize-sibling-calls    
                                   -fcse-follow-jumps      -fcse-skip-blocks    
                                   -fgcse      -fgcse-lm       
                                   -fexpensive-optimizations    
                                   -fstrength-reduce    
                                   -frerun-cse-after-loop      -frerun-loop-opt    
                                   -fcaller-saves    
                                   -fpeephole2    
                                   -fschedule-insns      -fschedule-insns2    
                                   -fsched-interblock      -fsched-spec    
                                   -fregmove    
                                   -fstrict-aliasing    
                                   -fdelete-null-pointer-checks    
                                   -freorder-blocks      -freorder-functions    
                                   -falign-functions      -falign-jumps    
                                   -falign-loops      -falign-labels    
                                   -ftree-vrp    
                                   -ftree-pre 
      
                    Please   note   the   warning   under   `-fgcse '   about   invoking   `-O2 '   on 
                    programs   that   use   computed   gotos. 
      
    `-O3 ' 
                    Optimize   yet   more.      `-O3 '   turns   on   all   optimizations   specified   by 
                    `-O2 '   and   also   turns   on   the   `-finline-functions ', 
                    `-funswitch-loops '   and   `-fgcse-after-reload '   options. 
      
    `-O0 ' 
                    Do   not   optimize.      This   is   the   default. 

    还有个常用的优化选项: -Os

    它相当于-O2.5。是使用了所有-O2的优化选项,但又不缩减代码尺寸的方法。

    参考文档: https://www.linuxjournal.com/article/7269

    https://www.cnblogs.com/dylancao/p/9528432.html

  • 相关阅读:
    DOM获取分辨率
    DataSnap被动断开客户端及主动断开客户端
    DOM的常用操作
    Apache Shiro官方的教程和文档
    maven jar 导入本地仓库
    Media Queries 媒体查询详解
    flash遮挡DIV元素的问题总结
    CSS样式字体 自动换行(强制换行)与强制不换行
    【推荐】万能清除浮动样式
    响应式网页设计
  • 原文地址:https://www.cnblogs.com/findumars/p/9558037.html
Copyright © 2020-2023  润新知