||
http://blog.sina.com.cn/s/blog_8af106960102xqvc.html
(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
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-24 04:06
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社