Igo*_*Oks 10 c++ unix optimization gcc
如果我使用"-O2"标志,性能会提高,但编译时间会变长.
我该如何决定是否使用它?
也许O2在某些特定类型的代码中有很大差异(例如数学计算?),我应该只将它用于项目的那些部分?
编辑:我想强调的是,为项目的所有组件设置-O2会将总编译时间从10分钟更改为30分钟.
Lan*_*son 23
我建议大多数时候使用-O2,好处包括:
如果发布级代码将启用优化,则最好在整个开发/测试周期中启用优化.
启用优化后,源级调试会更加困难,有时在调试问题时禁用优化会很有帮助.
Kon*_*lph 11
我在生物信息学方面,所以我的建议可能有偏见.也就是说,我总是使用-O3交换机(用于发布和测试版本,即通常不用于调试).确实,它有一些缺点,即增加编译时间和通常可执行文件的大小.
但是,第一个因素可以通过良好的构建策略和其他减少整体构建时间的技巧来部分缓解.此外,由于大多数编译实际上是I/O绑定的,因此编译时间的增加通常不那么明显.
第二个缺点,即可执行文件的大小,通常根本不重要.
| 归档时间: |
|
| 查看次数: |
7260 次 |
| 最近记录: |