私はHaskellコンパイルの基礎を知っています。私は、GHCによって行われた高度な(すなわち、Cコード生成の前の)最適化についてもっと知りたいと思います。どこから始めるのがいいですか?ハスケル最適化パスの紹介をどこで見つけることができますか?
9
A
答えて
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やRULESなど)の使用方法についての概要が記載されています。
GHC sourceもかなり読みやすく、コンパイルプロセスhereには幅広い解説があります。具体的には、SimplCore
のパスは、多くの最適化を実装しているようです。 GHCの著者(here、here、here、here、およびhere)によって書かれた良い論文もいくつかあります。最後に、GHC解説には、exactlyに関するセクションが含まれています(あなたが探しているもの)。
ハッピーリード:)
+0
ありがとう!興味深い記事がたくさんあります。 –
関連する問題
- 1. タイムゾーンの紹介をどこで見つけることができますか
- 2. OpenSSLでSSLの紹介をどこで見つけることができますか?
- 3. どこで良いフォントの紹介を見つけることができます
- 4. どこでiOSパスを見つけることができますか?
- 5. どこでMicrosoft.Build.Utilities.v3.5を見つけることができます
- 6. ハスケルのプロジェクトオイラー番号10、バグを見つけることができません
- 7. どこで__sync_add_and_fetchのヘッダを見つけることができますか
- 8. どこでcpanelのphp.iniを見つけることができますか
- 9. UWPのどこでpingを見つけることができますか?
- 10. どこでneo4jのクイックチュートリアルを見つけることができますか?
- 11. どこで私のmySQLデータベースを見つけることができますか?
- 12. どこでPythonのvtkドキュメントを見つけることができますか?
- 13. どこでmagento apiのログを見つけることができますか?
- 14. どこでCGALで.cppファイルを見つけることができますか?
- 15. JXTAでNetworkManager.RecursiveDelete()をどこで見つけることができますか?
- 16. どこでspiteでsqliteデータベースを見つけることができますか?
- 17. どこでメゾでサービスを見つけることができますか
- 18. どこでDjango get_absolute_urlを見つけることができますか?
- 19. どこで良いUIを見つけることができますか?
- 20. どこで良いRobocodeチュートリアルを見つけることができますか?
- 21. どこでssbdiagnoseを見つけることができますか
- 22. どこでC++ csoundチュートリアルを見つけることができますか?
- 23. どこでJava要素フィルタダイアログを見つけることができますか?
- 24. どこでOpenJDKテストを見つけることができますか?
- 25. フラッシュデバッグプロトコルの仕様はどこで見つけることができますか?
- 26. jsonでは、テスト目的で適切なサンプルデータセットをどこに見つけることができますか?
- 27. どこでソフトウェアアーキテクチャの適切なvisioテンプレート/図を見つけることができますか?
- 28. ハスケル:GHCはこれを最適化しますか?
- 29. neo4jは、トラバーサルによる最短n個のパスをインデックスで見つけることができますか?
- 30. n2nコンセンサスアルゴリズム情報はどこで見つけることができますか?
ghc docは良いスタート地点になるかもしれません。 – Satvik
GHCにはまだC--バックエンドがありますか?私はそれが落とされたと思った - それは少なくともここに表示されません:http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/code-generators.html – Cubic