我怎样才能得到GHC最聪明的优化?
因为我可以看到它的到来:这是一个与GHC预计可以可靠执行哪些优化不同的问题? 因为我不是要求最可靠的优化,而是最聪明/最强大的优化。
我专门寻找GHC所做的非直观优化,这会对性能产生严重影响,并展示与延迟评估或纯度相关的编译器优化的能力。 并直接解释如何解决这些问题。
最好的答案将有:
流融合可能是最大的一个。 它变成了一些sum . map (+1) . filter (>5)
sum . map (+1) . filter (>5)
sum . map (+1) . filter (>5)
,名义上将两个新列表分配到在恒定空间中操作的简单循环中。
上一篇: How can I get at the cleverest optimizations that GHC makes?
下一篇: GHC Performance: Why does more work take *much* less time?