知识卡片

把底层实现细节设计成可配置项,才能在不惊动系统其他部分的前提下单独评估一个设计选择

专业/工作

内容

Jikes RVM里对象在内存中的具体布局(要不要为每个对象多留几个位来支持哈希、要不要多留几个位实现更快的锁)被设计成可配置的选项,而不是写死的固定方案——这样研究者就能在保持系统其余部分完全不变的情况下,单独评估”这一个具体设计决策”到底带来了多大的性能差异。这提示一个做架构决策评估时值得借鉴的做法:如果一个系统内部有某个设计点存在多种合理的实现方式,与其凭经验直接拍板选一种,不如把这个点做成可插拔、可配置的,这样将来想验证”换一种做法会不会更好”时,付出的成本只是改一个配置,而不是重新设计整个系统。

参考来源

《架构之美》第10章《元循环虚拟机的力量:Jikes RVM》