知识卡片

垃圾回收与显式内存管理的性能优劣被过度简化了

普通读书笔记卡 · 1812.f

内容

“垃圾回收比显式内存管理慢”忽略了显式管理自身隐藏的复杂性——程序员须自己记录内存块、维护空闲清单,多线程并发申请还要处理碎片合并,且天然做不到挪动内存位置减少碎片。垃圾回收确有额外开销,但换来更少的内存管理缺陷及更强的整体处理能力。比较两种方案性能不能只看操作步骤多少,还要算被省略的复杂度付出的隐性成本。

参考来源

- 位置:《架构之美》第10章《元循环虚拟机的力量:Jikes RVM》10.2.5节《垃圾收集比显式内存管理更慢》(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0216.xhtml) - 结论依据:原文明确"虽然显式内存管理易于出错,但是,人们经常坚持这对于性能来说是必需的。然而,这忽略了由于显式内存管理所引起的许多复杂性……显式内存管理器还不能在内存中移动东西……它明确改进了系统的'处理能力'"。 - 原始内容:虽然显式内存管理易于出错,但是,人们经常坚持这对于性能来说是必需的。然而,这忽略了由于显式内存管理所引起的许多复杂性……显式内存管理器还不能在内存中移动东西——例如,为了减少碎片。