2013-06-27 3 views
9

私はHaskellコンパイルの基礎を知っています。私は、GHCによって行われた高度な(すなわち、Cコード生成の前の)最適化についてもっと知りたいと思います。どこから始めるのがいいですか?ハスケル最適化パスの紹介をどこで見つけることができますか?

+2

ghc docは良いスタート地点になるかもしれません。 – Satvik

+0

GHCにはまだC--バックエンドがありますか?私はそれが落とされたと思った - それは少なくともここに表示されません:http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/code-generators.html – Cubic

答えて

9

haskellwiki Performance categoryoverview pageは、開始するのに適しています。ここには、スペースとスピードのためにプログラムを最適化する方法に関するヒントが含まれています。 GHC optimizationの概要、使用するライブラリ、ベストプラクティス、how to prevent laziness from eating up your memoryhow to use laziness to your advantage、GHC固有の機能(INLINEやRULESなど)の使用方法についての概要が記載されています。

GHC sourceもかなり読みやすく、コンパイルプロセスhereには幅広い解説があります。具体的には、SimplCoreのパスは、多くの最適化を実装しているようです。 GHCの著者(herehereherehere、およびhere)によって書かれた良い論文もいくつかあります。最後に、GHC解説には、exactlyに関するセクションが含まれています(あなたが探しているもの)。

ハッピーリード:)

+0

ありがとう!興味深い記事がたくさんあります。 –

関連する問題