【发布时间】:2011-12-02 06:46:06
【问题描述】:
假设我有两个据称相同的大(文本)文件,但我想确定一下。整个哈利波特系列的“成人”和“儿童”版也许......
如果全文的字符串表示太大而无法一次保存在内存中,是否会更快:
- a) 对两个文件进行整体哈希,然后测试哈希是否相同
或
- b) 读入每个文件的可管理块并进行比较,直到达到 EOF 或发现不匹配
换句话说,比较两个小散列的便利性是否会被生成所述散列所花费的时间抵消?
我期待几个“取决于”的答案,所以如果你想使用一些假设:
- 语言是 .NET 中的 C#
- 文本文件每个大小为 3GB
- 哈希函数为MD5
- 最大“备用”RAM 为 1GB
【问题讨论】:
标签: c# .net hash string-comparison