【发布时间】:2013-08-23 03:30:23
【问题描述】:
我最近用minidom解析了一些xml文件。
有趣的是,我读取一个 56MB 的文件需要 8G 内存,相对平坦,即大多数节点处于同一级别。
为什么会这样?
【问题讨论】:
-
也许你有一些讨厌的实体扩展? en.wikipedia.org/wiki/Billion_laughs 是一个极端的例子。
-
也许您可以发布一些代码,以便我们查看。我的猜测是,您正在构建许多 diff 格式的不可变对象,表示相同的数据,而不收集它们。
-
objgraph 是用于检查流程对象的绝佳工具。我会从那里开始,看看在数百万/十亿中创建了哪些对象。