【发布时间】:2012-03-27 12:56:07
【问题描述】:
我需要比较两个 xml 文档,并想弄清楚与 XmlDocument/XDocument 相比,XmlReader 开始产生显着的大小优势的数据大小。
天真地,我以为我可以简单地运行我的简单测试控制台,它使用两个不同的实现(一个基于 XmlDocument,另一个基于 XmlReader)比较两个 XML 文件的内容,同时使用工具进行分析。
我尝试使用 CLR 性能架构师提供的免费工具 CLR Profiler 4,但它完全没有给我任何信息。然后我下载了 ANTS Profiler 的试用版,但这也没有给我任何帮助!
我的测试文件 ATM 相当小,程序只是在两个文件中闪现然后退出。如果这很重要,它被实现为控制台。我无法理解为什么我从 ANTS 中得到“没有结果可显示”和从 CLR Profiler 中得到“0 字节分配”——两者似乎都只显示“实时”结果,但我想运行代码并分析什么后来发生了。
有没有一种简单的方法可以解决这个问题? GC 或相关类型是否公开了使其成为可能的功能?我主要对使用的总内存感兴趣,但也有兴趣查看是否创建了任何大对象(> 80KB,因此不可“碎片整理”)。
--
请避免使用样板“XmlReader 较小”或“XmlReader 占用空间平坦”的响应。我知道这一点。但是我需要确定收益的大小以及它变得重要的数据大小,以便在它们之间进行实际选择。仅仅知道 XmlReader 将“在某个时候”会“显着变小”是不够的。
【问题讨论】:
-
首先,确保您正确使用这些程序。内存分析器通常要求您拍摄快照。这是它收集所有信息供您查看的时间。