2013-11-26 32 views

回答

1

正如我所看到的主要区别是在与Identation的开销。当流式写入器产生单行输出时,MarkupBuilder会做出很多操作来制作prettyPrinted xml字符串。

正如我所想,您可以提供您的IndentPrinter,并尽量减少开销。

还有一个相同的问题here,但答案不太清楚。

由名称,我应该建议,Streaming将直接在流中写入数据,Not-Streaming版本 - 累积内存中的文档结构。但在StreamingMBOrdinary MB的来源中,我找不到一个核心区别,也就是说MB正在存储不必要的数据。

所以,我认为,缩进只是瓶颈。

1

在我的理解中,streamingMarkupBuilder vs. MarkupBuilder有点像SAX vs. DOM:第二种将文档的完整结构加载到内存中,第一个处理文档,当它加载时需要,因为它被加载。

其他图像可能正在使用迭代器与使用整个列表。

希望它有帮助

相关问题