cabal dist
不鼓励您使用-O2
,因为它会产生更长的编译时间,GHC手册说:
目前,
-O2
不太可能产生比-O
更好的代码。
我知道我可以随时对库进行基准测试,看看-O2
是否能提供更好的性能,但我想知道是否有人可以解释-O2
与-O
的区别是什么,所以我可以得到他们认为不太可能产生更好的代码的直觉。
答案 0 :(得分:15)
-O2
执行构造函数特化。还有一些其他优化仅在-O2启用,包括-fliberate-case
,-fstatic-argument-transformation
,
我怀疑-O2现在总能产生更好的代码,因为这个建议可以追溯到大约10年。