我知道Haskell编译的基础知识。我想更多地了解GHC完成的高级(即C--代码生成之前)优化。哪里是一个好的起点?
答案 0 :(得分:9)
haskellwiki Performance category和overview page是一个很好的起点。它包含有关如何针对空间和速度优化程序的提示。它概述了GHC optimization以及有关更具体主题的信息:要使用的库,最佳做法,how to prevent laziness from eating up your memory,how to use laziness to your advantage以及如何使用GHC特定功能(如INLINE和{ {3}}),等等。
RULES也非常简单易读,整个编译过程GHC source都有很多评论。具体来说,SimplCore
通道似乎实现了很多优化。还有一些由GHC作者撰写的优秀论文(here,here,here,here和here)。最后,GHC评论中有一节关于here你正在寻找什么(我认为)。
快乐阅读:)