インクリメンタルリンク (Incremental Linking) とは?
インクリメンタルリンクは、実行ファイルをゼロから再構築するのではなく、変更されたオブジェクトファイルだけを反映するように既存の出力バイナリにパッチを当てるリンカのモードです。前回のリンクの大部分を再利用することで、反復的な開発における最終リンクステップの時間を削減します。わずかに大きい、または最適化の少ないバイナリと引き換えに速度を得ます。
なぜ重要か
リンクステップはすべてのbuildの最後にあるシリアルなボトルネックになり得ますが、インクリメンタルリンクは高速な反復中にそれを短縮します。ローカルの開発者ループに最も有用で、リリースbuildは通常、クリーンで最適化された結果を得るために完全に再リンクします。CIで役立つかどうかは、実行間で以前のリンク状態が保持されるかどうかによります。
関連ガイド
What Is Link-Time Optimization?Link-time optimization defers parts of compiler optimization until link time, letting the toolchain optimize…
What Is a Compiler Cache?A compiler cache stores the output of compiling a translation unit keyed on its inputs, so an identical compi…
What Is Build Reproducibility?Build reproducibility is the property that building the same source in the same environment yields a bit-for-…