GHC的-O和-O2之间的差异

Gab*_*lez 8 compiler-construction optimization haskell ghc

cabal dist阻止你使用,-O2因为它产生更长的编译时间,GHC手册说:

目前,-O2不太可能产生比代码更好的代码-O.

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

Don*_*art 15

-O2执行构造函数特化.但是也有一些只在-02启用,以及包括一些其他优化-fliberate-case,-fstatic-argument-transformation,

我怀疑-O2现在总能产生更好的代码,因为这个建议可以追溯到大约10年.