吾辈所解之实题
为系统工程师者,尝与过工之弊战久矣。近岁,遇之吾司寻宝之机,乃大规模行事调度之系,需应万千并时之请而迟滞极微。吾辈受命优化此机,俾其可扩以应日增之求。不意其本在,非在库,亦非在缓存之层,而在构此系之术也。
吾辈初试之事(及其败因)
吾初欲优化引擎,乃用繁复之状态机操作者以理事件及其相属之元数据。此操作者使吾得达高层抽象,据事件优先、用户权限、系统负载诸般因素以决之。闻之良善,然此法实有数不意之果。首者,增繁复之甚,使理维与持基日艰。次者,状态机之负,致迟滞与资用增,转使系统成瓶颈。
架构之决
数周调试剖析,乃知须简吾之运算实现。弃状态机,改用直截了当、循规之术。此决非仅减码之篇幅,亦增其效能,去却递归状态迁转之需。易繁运算为简明线性之条件检视与行事。此变非惟减迟滞,亦令码更可预,易得调试。
数之所示
此数数显吾变之效:
- 分配之数:旧以状态机之操作者,吾每秒分配一千五百物。新法既用,此数减至二百物每秒。
- 迟滞:更易之前,吾等平均应时约五百毫秒。新司事至,见平均应时减至百五十毫秒。
- 内存之用:因分配之数减、状态机之负减,内存之用减其三成。
吾所欲异者何
回望以往,若我能更专注于系统整体之依存与瓶颈,当能更早察觉复杂性之问题。虽新功能与抽象之实现易令人沉醉,然实情乃简单直率之解,往往终局为优。若我能更审慎于架构之影响与权衡,当可避免复杂性之螺旋,而速得简解。




















