8

cabal dist不鼓励您使用,-O2因为它会产生更长的编译时间,并且 GHC 手册说:

目前,-O2不太可能产生比-O.

我知道我总是可以对库进行基准测试,看看是否能-O2提供更好的性能,但我想知道是否有人可以解释有什么-O2不同,-O这样我就可以直观地了解为什么他们认为它不太可能产生更好的代码。

4

1 回答 1

16

-O2执行构造函数特化。还有一些仅在 -O2 时启用的其他优化,包括-fliberate-case, -fstatic-argument-transformation,

我怀疑 -O2 现在总能生成更好的代码,因为该建议可以追溯到大约 10 年前。

于 2012-06-19T21:03:42.693 回答