概念Compile-Time Type Information / 编译期类型信息
CTTI
编译期类型信息(CTTI)是在编译阶段完成类型推导的技术机制,以代码膨胀和编译时间为代价换取运行时零开销的极致性能,常见于Zig、C++模板元编程等系统级语言
时间轴 (近 90 天)
9月12日
CTTI(编译期类型信息)随类型组合数量增长呈指数级增长,而RTTI(运行时类型信息)是线性的
待验证50%
9月12日
CTTI在编译期完成类型推导,运行时代码无需类型查找,但代价是每种唯一类型组合都会触发一次实例化,导致代码膨胀
待验证50%
9月12日
Zig对CTTI的行为是显式的,将决策权和责任交给开发者,开发者可选择用vtable方法避免代码膨胀
待验证50%
9月12日
CTTI适用于追求运行时极致性能且类型组合有限的场景,RTTI适用于类型组合爆炸且关注二进制体积的场景
待验证50%