並列ビルド
make
なら-j<N>
オプションをつけるとNスレッドでビルドしてくれる
直接make
をたたけない場合でもexport MAKEFLAGS="-j<N>"
で環境変数に設定することでバックエンドのmake
に指示できる
ninja
の場合はexport NINJAJOBS=<N>
で指示できる
バックエンドをninja
にする
make
よりかなり早いらしい
cmake
なら-G ninja
オプションをつけるとバックエンドをninja
にすることができる
リンカーにmoldを使う
結構早いらしい
ccacheを使う
2回目以降をキャッシュを有効活用して爆速にしてくれる
ヘッダー記述量を減らす
ヘッダーはインクルードしているソースファイルすべてに展開されるため、実装をソースファイルに移動するだけでかなりのビルド時間削減が期待できる
pimplイディオムなども使える
インクルードを減らす
「インクルードする=ビルドするソースコード量の増大」なので避けたい
具体的なクラスの実装が必要ない場合はインクルードせずに前方宣言だけで済ませたりできる
0 Comments for this cheatsheet. Write yours!