文件去重问题,怎么提高效率
有海量的文件,可能文件内容一样但名称不同,典型的去重问题,删除掉多余的。
暂时的思路是计算hash,然后比较,用MD5或SHA1算法。但是速度比较慢,MD4速度比MD5快50%左右,可以用MD4比较,但还是速度太慢,如果容量上T了,不知道有什么好的算法能提高一下速度?
PS:我觉得单纯的计算摘要,完全可以不用考虑安全性问题,当然防碰撞性能不要太差。 算法 性能 md5 sha1 hash
[解决办法]
先初步筛选,可以用文件的长度。
针对长度相同的文件进一步处理。
[解决办法]
只能是文件长度+内容HASH,对于大文件很多时候可以取段HASH,不用HASH整个文件。
[解决办法]
上T的数据,瓶颈不是应该在IO上,无论用哪个hash算法性能不是都应该差不多的么