gpt4 book ai didi

c# - 比较大文本文件 - 比较散列是否比使用文件的子集更快?

转载 作者:行者123 更新时间:2023-12-05 00:02:40 25 4
gpt4 key购买 nike

假设我有两个据称相同的大(文本)文件,但我想确定一下。整个哈利波特系列的“成人”和“ child ”版也许……

如果全文的字符串表示太大而无法一次保存在内存中,是否会更快:

  • a) 对两个文件进行整体散列,然后测试散列是否相同

  • 或者
  • b) 读入每个文件的可管理块并进行比较,直到达到 EOF 或发现不匹配

  • 换句话说,比较 2 个小散列的便利性是否会被生成所述散列所花费的时间抵消?

    我期待几个“视情况而定”的答案,所以如果你想要一些假设:
  • .NET 中的语言是 C#
  • 文本文件每个 3GB
  • 哈希函数为 MD5
  • 最大“备用”RAM 为 1GB
  • 最佳答案

  • MD5 校验和会变慢,因为您需要处理这两个文件才能获得结果。你说你有 3GB 的文件,只有 1GB 的内存空闲你做数学。
  • 以字节块检查它们实际上会更早地确定任何差异,还通过检查文件大小、文件长度等...

  • 我会选择选项 2。

    关于c# - 比较大文本文件 - 比较散列是否比使用文件的子集更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7675286/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com