计算文件的MD5时,内存占用极大

JackLucifer 2007-02-25 12:33:21
参照“ http://community.csdn.net/Expert/topic/4751/4751387.xml?temp=.9281122 ”中 overdream(逗你) 的代码,写了一个计算MD5值的demo,小文件的时候问题不大,可是当尝试hash一个200多M的iso文件时,我发现,和WinMD511.exe相比有两个问题:

其一,hash的速度比WinMD511.exe要慢些。

其二,占用的内存极大。
我用windows的任务管理器查看的,WinMD511.exe在计算的时候,内存使用和虚拟内存分别稳定在3.7M和1.7M,基本就是没有变化的。
而我的demo程序居然可以飙升到200多M,我估计这是将整个文件全部都读取到内存中了。
根据“ http://community.csdn.net/Expert/topic/4722/4722263.xml?temp=.6986505 ”中的讨论情况来看,似乎文件不全部完整的读取出来的话,是无法正确计算出MD5的,那么,我很好奇,WinMD511.exe是如何做到的呢?我要怎样才能减小内存的消耗?这方面有没有什么好的组件或库文件呢?
...全文
682 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hertcloud 2007-02-25
  • 打赏
  • 举报
回复
:)
Jamestan 2007-02-25
  • 打赏
  • 举报
回复
那就接分了
JackLucifer 2007-02-25
  • 打赏
  • 举报
回复
参考了code project上Dariush Tasdighi的代码(http://www.codeproject.com/cs/files/dt_file_hasher.asp),看来问题是出在文件流的处理上。



就当散分了,有人想要吗?
3000sunqin 2007-02-25
  • 打赏
  • 举报
回复
gameboy766 2007-02-25
  • 打赏
  • 举报
回复
帮顶

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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