Skip to content
Latchkey

O que é monomorfização?

A monomorfização é uma estratégia de compilação para generics que gera uma versão distinta e totalmente especializada do código para cada tipo concreto com que o genérico é instanciado. Cada cópia é otimizada como se tivesse sido escrita à mão para aquele tipo, eliminando o despacho de tipo em tempo de execução. O custo é mais código gerado e compilações mais longas.

Por que isso importa

Generics monomorfizados rodam tão rápido quanto código específico de tipo porque não há indireção, e é por isso que linguagens os escolhem por desempenho. O trade-off frente ao type erasure é código mais rápido versus binários menores e builds mais curtos.

Guias relacionados