知识卡片
空间优化降抽象
内容
节省内存通常意味着从高层集合退回数组、基本类型或特殊编码,代码会更底层、更难读。发散:内存优化不是免费午餐,只有在数据规模足够大或环境受限时才值得主动支付可维护性成本。
参考来源
- 位置:《你真的会写代码吗-2021》第4章《宝贵的内存:空间效率》"4.2 普通数组(Memory2)"及全章总结(源文件:_epub-src/OEBPS/Text/0014.xhtml)
- 结论依据:原文明确"connectTo方法与Memory1中的非常相似,只是稍微冗长一些,因为它的抽象级别较低",并在章末总结"本章的所有实现也都牺牲了可读性,并因此牺牲了可维护性。对内存效率的追求导致使用更底层的类型(主要是数组)代替上层集合"。
- 原始内容:connectTo方法与Memory1中的非常相似,只是稍微冗长一些,因为它的抽象级别较低……对内存效率的追求导致使用更底层的类型(主要是数组)代替上层集合,并使用特殊编码……大多数编程环境并不赞成这种做法,但在一些内存严重受限的场景中却会使用这些技术。