背景 C++は、コード規模の増分に対して指数的にコンパイル・リンク時間が増大します。 以前、C++とJavaのビルド時間比較で調査したデータid:torutk:20071104と、id:torutk:20071107から、C++のコード規模によるビルド時間の違いをまとめ直したのが以下の表です。 対象プログラム名 総行数 命令行数 ファイル数 ビルド時間 ACE 5.6.1 307,819 79,930 1,248 00:10:40 ACE+TAO 5.6.1 1,066,708 247,391 2,592 2:35:30 コード規模が3倍でビルド時間は15倍となっています。 ビルド時間を短縮するアプローチ ビルド時間を早めるための工夫がいくつか存在しています。 キャッシュ等前回実行した結果を活用して処理時間を短くする コンパイル済みのオブジェクトはソースが変更されていなければ再コンパイルし