当前位置:  开发笔记 > 编程语言 > 正文

您通常如何设置编译器的优化设置?

如何解决《您通常如何设置编译器的优化设置?》经验,为你挑选了1个好方法。

您通常将编译器设置为针对最大速度或最小代码大小进行优化吗?或者您手动配置个别优化设置?为什么?

我注意到大多数时候人们倾向于将编译器优化设置保留为默认状态,而使用visual c ++意味着最大速度.我一直认为默认设置更多地与基准测试相关,基准测试往往是完全适合L2缓存的小程序,而不是整体性能最佳,因此我通常将其设置为最小尺寸.



1> Claes Mogren..:

作为一名Gentoo用户,我在整个操作系统上尝试了很多优化,并且在Gentoo论坛上就此进行了无休止的讨论.GCC的一些好标志可以在维基中找到.

简而言之,优化尺寸在有限RAM的旧Pentium3笔记本电脑上效果最佳,但在我的主机台式机上使用Core2Duo,-O2可以获得更好的效果.

如果您对最优化的x86(32位)特定标志感兴趣,还有一个小脚本.

如果您使用gcc并且真的想要优化特定应用程序,请尝试ACOVEA.它运行一组基准测试,然后使用编译标志的所有可能组合重新编译它们.在网站上有一个使用霍夫曼编码的例子(越低越好):

A relative graph of fitnesses:

   Acovea Best-of-the-Best: **************************************                (2.55366)
     Acovea Common Options: *******************************************           (2.86788)
                       -O1: **********************************************        (3.0752)
                       -O2: ***********************************************       (3.12343)
                       -O3: ***********************************************       (3.1277)
           -O3 -ffast-math: **************************************************    (3.31539)
                       -Os: *************************************************     (3.30573)

(注意它发现-Os在这个Opteron系统上是最慢的.)

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有