← 中文资源

简体中文版本

急切与惰性求值

急切求值在定义时算值;惰性求值推迟到需要时,惰性避免浪费但增加每次访问 thunk 开销且使效果运行时序难推理。

阅读英文原文

概念定义

急切与惰性求值:性能是分布而非数字:尾部决定用户体验,均值隐藏导致流失的离群值。

工作机制

测量针对工作负载实际并发下的百分位,而非单次顺序运行。快路径通过推迟不在其上的工作保持快——惰性初始化、合并写入、避免热循环中分配。剖析找到瓶颈;无剖析的微优化优化的是错误对象。常数因子重要,但随规模增长算法复杂度主导。

使用场景

当测量显示具体成本时优化——延迟预算燃烧、计算支出、用户可见卡顿。误区是为基准而非工作负载优化:不重现生产访问模式的合成测试产生全局有害的局部最优。另一是用内存换速度却不计额外分配引入的 GC 或驱逐成本。

延伸说明

补充说明:急切与惰性求值要求在设计与运维中持续权衡效率、正确性与可维护性,任何单一维度的过度优化都可能引入另一维度的风险。实践上应结合具体场景的约束、团队规模与变更频率,在小步验证中积累证据,而非凭一次假设或单一指标下结论。