知识卡片

用一个极简的玩具模型验证核心性能假设,再决定值不值得投入全量项目

专业/工作

内容

在决定要不要花大力气用纯Java写一个x86 PC模拟器之前,团队没有直接一头扎进复杂的x86指令集(1500多页手册),而是先发明了一个只有13条指令、2个寄存器的”玩具CPU”,专门用来验证一件事:Java的运行时编译能不能把模拟执行的速度做到接近原生代码。通过几轮针对性优化(去掉查找-分派开销、内联、消除冗余的内存读写),这个玩具模型最终跑出了和优化过的C程序一样的速度,团队这才有把握说”这条路走得通”。这提示一个评估高风险项目的方法:当决定一个项目是否值得投入时,与其纠结全部细节,不如先把最核心的不确定性剥离成一个极简模型单独验证——如果连这个简化到极致的版本都验证不了核心假设,那么复杂的完整版本大概率也撑不住。

参考来源

《架构之美》第9章《JPC:一个纯Java的x86 PC模拟程序》