张成岗(CZ)的博客世界分享 http://blog.sciencenet.cn/u/zcgweb 脑损伤与脑保护;神经认知;生物信息;蛋白质组;辐射损伤与防护

博文

[转载]gcc编译参数(优化选项) -Ofast ( 优化到破坏标准合规性的点)

已有 162 次阅读 2021-3-2 10:55 |系统分类:科研笔记|文章来源:转载

http://blog.sina.com.cn/s/blog_8af106960102xqvc.html


pragma-GCC-optimize("-Ofast")

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

转载

标签: 

gcc

 

优化

分类: C/CPP

GCC的优化级别

影响:调试顺序改变

手册

https://linux.die.net/man/1/gcc

https://ask.helplib.com/optimization/post_12408488

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优化选项之外,也会针对某些语言启用部分优化。 

https://blog.csdn.net/qq_39798042/article/details/79266645?utm




http://wap.sciencenet.cn/blog-40692-1274580.html

上一篇:写在2021年新学期开始的话:努力推动生物医学领域创新科研的持续发展
下一篇:[转载]gcc/g++ 优化标识 -O1 -O2 -O3 -Os -Ofast -Og的作用

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-4-17 16:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部