型消去とは?
型消去は、ジェネリックコードの具体的な型引数を取り除き、共通の基底型やボックス化された値のような共有表現へ置き換える手法です。そして単一のコンパイル済み版が、その統一されたインタフェースを通じてすべての型引数を扱います。実行時のディスパッチやボックス化を代償に、コードサイズを小さく保ちます。
なぜ重要か
型消去は、いくつの型が使おうとジェネリックコードのコピーを1つだけ生成し、モノモーフィゼーションよりもバイナリとコンパイル時間を小さく保ちます。欠点は間接と、実行時に一部の型情報が失われることです。
関連ガイド
What Is Monomorphization?Monomorphization compiles generic code into a separate specialized copy for each concrete type it is used wit…
What Is Trait Object Dispatch?Trait object dispatch calls a method through a runtime pointer to a table of implementations, choosing behavi…
What Is Boxing?Boxing wraps a value type in a heap-allocated object so it can be used where a reference or common interface…