MSXML 的内存泄漏

ToperRay 2007-12-02 05:04:40
msxml处理xml数据当数据量非常大的时候,
为什么总会发生内存泄漏?
...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
张琪Samuel 2007-12-14
  • 打赏
  • 举报
回复
而是批量处理非常多,SAX并不是个好主意。
^
不是太明白你的意思,如果对XML进行读取操作,那么SAX应该是优于DOM的。

此外可以检查一下代码或者做一下profile,看看问题是不是在MSXML或者是资源没有释放。还有一个建议是使用MSXML 6,有更好的安全性和性能保障。
ToperRay 2007-12-14
  • 打赏
  • 举报
回复
不能十分确实是内存泄露,在8核CPU的服务器上跑5,6个小时就会发生异常,
而且内存比较大,基本到1G了。

数据量非常大不是指单个的XML文档非常大,
而是批量处理非常多,SAX并不是个好主意。
最大的XML文档个体才50M,而且数量不到1/1000000,
其余大部分是100K以下的。




ToperRay 2007-12-14
  • 打赏
  • 举报
回复
数据量非常大不是指单个的XML文档非常大,而是很多小文件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

是这个意思
张琪Samuel 2007-12-13
  • 打赏
  • 举报
回复
你能确定这是内存泄漏么?MSXML底层采用了类似于GC的技术,所以突发内存占用或许非常大,但是会在合适的时机回收内存。由于MSXML是微软大多数产品的组成部分之一,所以健壮性是被历史证明了的。

此外,如果数据量非常大,可以采用SAX解析器,或者在DOM Parser中设置NewParser为True,或许能解决你的问题。如果MSXML不合适你,可以试试微软最新的XML Lite。

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧