单态化/单形化:在编译期把“泛型(多态)代码”按具体类型展开并生成对应的专用版本的过程。常见于编译型语言(如 Rust、C++ 模板),通常能带来更好的运行时性能,但可能增加编译时间与可执行文件体积。
/ˌmɒnəˌmɔːrfaɪˈzeɪʃən/
Monomorphization makes generic functions fast.
单态化让泛型函数运行得更快。
In Rust, the compiler uses monomorphization to generate specialized machine code for each concrete type, improving performance at the cost of larger binaries.
在 Rust 中,编译器通过单态化为每种具体类型生成专用机器码,以提升性能,但代价是可执行文件可能更大。
由 **mono-**(单一的)+ morph(形态、形式,源自希腊语 morphē “形状”)+ -ization(……化)构成,字面意思是“把多种形式变成单一形式/把泛型变成具体形式”,用于描述把多态/泛型实现“落到”具体类型版本的编译过程。