您的位置:程序门 -> .net技术 -> c#



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


计算文件的md5时,内存占用极大[已结贴,结贴人:jacklucifer]
发表于:2007-02-25 00: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是如何做到的呢?我要怎样才能减小内存的消耗?这方面有没有什么好的组件或库文件呢?
发表于:2007-02-25 08:40:581楼 得分:15
帮顶
发表于:2007-02-25 09:13:442楼 得分:15
发表于:2007-02-25 10:32:443楼 得分:0
参考了code   project上dariush   tasdighi的代码(http://www.codeproject.com/cs/files/dt_file_hasher.asp),看来问题是出在文件流的处理上。


就当散分了,有人想要吗?
发表于:2007-02-25 10:34:374楼 得分:10
该回复于2007-10-26 14:29:25被管理员删除
发表于:2007-02-25 10:35:245楼 得分:10
那就接分了
发表于:2007-02-25 10:37:186楼 得分:0
:)


快速检索

最新资讯
热门点击