gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:41 28 4
gpt4 key购买 nike

您通常将编译器设置为优化最大速度还是最小代码大小?还是手动配置个别优化设置?为什么?

我注意到大多数时候人们倾向于将编译器优化设置保留为默认状态,这对于 Visual C++ 意味着最大速度。我一直觉得默认设置更多地与在基准测试中看起来不错有关,基准测试往往是完全适合 L2 缓存的小程序,而不是整体性能的最佳设置,因此我通常将其设置为最小尺寸优化。

最佳答案

作为一名 Gentoo 用户,我在整个操作系统上尝试了很多优化,并且关于 Gentoo forums 的讨论一直没完没了。关于它。可以在 wiki 中找到一些 GCC 的好标志。 .

简而言之,优化尺寸在内存有限的旧 Pentium3 笔记本电脑上效果最好,但在我配备 Core2Duo 的主要台式机上,-O2 总体上效果更好。

还有一个 small script如果您对最优化的 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 系统上是最慢的。)

关于c++ - 您通常如何设置编译器的优化设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53811/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com