モノモーフィゼーションとは?
モノモーフィゼーションは、ジェネリックがインスタンス化されるすべての具体的な型について、完全に特殊化された別個のコード版を生成する、ジェネリクスのためのコンパイル手法です。各コピーはその型のために手書きされたかのように最適化され、実行時の型ディスパッチをなくします。その代償は、生成コードの増加とコンパイルの長時間化です。
なぜ重要か
モノモーフィゼーションされたジェネリクスは間接がないため型固有のコードと同じ速さで動作し、それゆえ言語は性能のためにこれを選びます。型消去とのトレードオフは、より高速なコードか、より小さなバイナリと短いビルドかです。
関連ガイド
What Is Template Instantiation?Template instantiation is the compiler generating concrete code from a generic template for each specific set…
What Is Type Erasure?Type erasure discards specific type parameters at or after compilation, leaving generic code working through…
What Is Trait Object Dispatch?Trait object dispatch calls a method through a runtime pointer to a table of implementations, choosing behavi…