自己写的多文件 MD5校验工具,一个文件开一个线程,有最大I/O 缓存设置,兼容读写MD5后缀文件。
共计91个文件,合计180G左右 12分钟左右,UI基本卡废,但程序没蹦,属于正常。
卡的原因是基本是用 I/O 峰值了,我的是机器硬盘(峰值估计单文件在100M/S 上面,),然而我的单文件MD5 HASH缓存设置到了50M,也就是91*50M,完全超过硬件本身的硬件实力。
我也没有锁瓶颈,在配置里面设置,各位量力而行,找到合适自己计算机硬件最大合理的尺寸,就自己调节适配吧。或者您有更好自动化适配硬件的算法可以分享一下。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--默认MD5缓存大小-->
<add key="MD5CacheSize" value="1"/>
<!--最大MD5缓存大小,注意过大可能会导致I/O占用过高-->
<add key="MaxMD5CacheSize" value="100"/>
</appSettings>
</configuration>
10.5 日更新
1.加入线程数量控制,默认多少个文件,多少个线程计算。
2.在计算过程中,终止计算的功能(Stop_MD5_Check)
3.发布为单文件便于分发(配置文件消失?我也没搞懂这个机制,单似乎功能不影响。)
4.最大读入缓存设置放到了UI(Set Max Cache Size),支持保存。
5.部分文件大小显示修正、耗时显示方式修正
(上图为正在计算)
(上图为md5文件关联的所有文件计算完毕,34.9G 耗时:2分19秒)
-------------------------------------------------
10月26日更新
1、MD5 局限更换为常用 Hash算法,支持MD5,SHA1,SHA256,SHA384,SHA512等
2、加入单文件Hash功能(单行算法列进行调整),抬头的按钮是批量级
重新定义Hash Result 输出格式