加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

pragma-GCC-optimize("-Ofast")

(2018-09-25 14:43:17)
标签:

gcc

优化

分类: C/CPP
GCC的优化级别
影响:调试顺序改变

手册

8个不同的-O选项
    -O ( 与 -O1 相同)
    -O0 ( 不进行优化,如果没有指定优化级别,则默认设置)
    -O1 ( 最小优化)
    -O2 ( 优化更多)
    -O3 ( 优化更多)
    -Ofast ( 优化到破坏标准合规性的点)
    -Og ( 优化调试体验。-Og启用不干扰调试的优化。
它应该是标准edit-compile-debug周期的最佳选择级别,提供合理的优化级别,同时保持快速编译和良好的调试体验。
    -Os ( 优化大小。-Os 支持所有通常不增加代码大小的-O2 优化。它还执行了进一步优化以减少代码大小。
-Os 禁用以下优化标志:
-falign-functions -falign-jumps -falign-loops -falign-labels 
-freorder-blocks -freorder-blocks-and-partition 
-fprefetch-loop-arrays -ftree-vect-loop-version)

-Ofast: 等效于 -O3 -ffast-math 
-ffast-math 触发non-standards-compliant浮点优化。
这允许编译器假装浮点数是无限精确的,并且它们上的代数遵循实数代数的标准规则。
它告诉编译器告诉硬件刷新denormals到零,把denormals当作零对待,至少在一些处理器上,包括x86和 x86-64.
Denormals在许多FPUs上触发了一个缓慢的路径,因这里将它们视为零( 它不会触发缓慢的路径) 可以能会。

Ofast将不会严格遵循语言标准,除了启用所有的-O3优化选项之外,也会针对某些语言启用部分优化。 

40行加速头文件

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有