コンパイラ関連の書籍紹介

お薦めのコンパイラ関連の書籍

コンパイラ関連


コンパイラ 原理・技法・ツール 第2版

通称ドラゴンブック。その第2版。
入門書としてお薦めするかと問われたら悩む。

最新コンパイラ構成技法

ガベージコレクションやオブジェクト指向言語や関数型言語の実装・最適化を紹介してるのが特徴。
二部以降が手抜きだと思うのは俺だけではないはず。
ループ最適化は命令再利用やキャッシュ最適化として位置づけているのがmodernっぽい。
帰納変数向けの最適化は一通り網羅している。

コンパイラの構成と最適化

コンパイラ最適化の辞書みたいな本。
ループ最適化やレジスタ割り付けや命令選択周りの記述が非常に豊富
第2版になって、coinsでチャレンジした成果や、08年くらいまでの論文の要点を纏めてある。
こういうリファレンスっぽく纏めてあると、読み直す機会が多い。
第3版の発売が待ち遠しい。


アセンブラ関連

コンピュータの構成と設計

コンピュータアーキテクチャ 定量的アプローチ

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか

アセンブラ命令の高速化テクニックを網羅してる
コンパイラの出力の参考になる。
また高度なコンパイラは、パターンマッチで本書で紹介されている高速なコードに変換しようとする。

命令レベル並列処理—プロセッサアーキテクチャとコンパイラ

コンパイラバックエンドの詳細を理解する上で非常によい本。他のコンパイラの本と内容が被ってないのでお勧め。
命令レベル並列処理のための、ハードウェア側の仕組みが解説されている。
またその仕組みに沿って、コンパイラバックエンド(アーキテクチャ依存の最適化から命令スケジューリング、レジスタ割り付け等)
の実装を解説している。


Java関連

Java Just-In-Timeコンパイラにおける最適化手法

Java向けの最適化やオブジェクト指向言語向けの最適化が充実している。
他の書籍では紹介されていないことが多く記述されている。


Java Just-In-Time Compiler

JavaのJITコンパイラの概要が非常にわかりやすく纏められていて、大変勉強になります。
Java固有の最適化手法や、実行時情報を利用した最適化に関しても解説されてます。


コンパイラとバーチャルマシン


JVMについてかかれた書籍
8章以降から本番で、他のコンパイラの書籍では紹介していないことが多く記述されている。

第8章:Javaの例外処理の実装に関して
第9章:Javaの実行環境と、ガベージコレクションに関して
第10章:Javaの実行時最適化のキモであるOnStackReplacementと脱最適化に関して

英語の書籍

Advanced Compiler Design and Implementation

実はあまり読む機会がなかったかも。。

Optimizing Compilers for Modern Architectures A Dependence-based Approach

高度なトピックを扱っているため、参照する機会が多い。

High-Performance Compilers for Parallel Computing

高度な解析や変換を網羅した本。最適化fortran全盛期の本でその集大成。あまり系統だってないかも。

  • 最終更新:2012-08-12 01:56:13

このWIKIを編集するにはパスワード入力が必要です

認証パスワード