並列ビルド
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!