我想知道文件更改时的内容有一个简单的txt文件textOne 1,2,3,4,5,6,7,8,9,10我把它改成textTwo 1,2,3,4,7,7,7,8,9,10所以 'One' 和 '5,6' 变成了 'two', '7,7'我可以找到循环改变的东西。但我想知道是否有更好的方法来检查
1 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
而不是循环使用标准的第三方库,优化很小。
我过去使用过的库之一是google-diff-match-patch 的 Go 端口(@Not_a_golfer 在评论中建议的库相同。)。
您可以通过首先计算sha2
两个文件的哈希来优化它,如果它们不相同,您可以假设它们被更改,否则(可能)它们相同,并跳过差异操作。
这种优化的一个缺点是,由于鸽巢原理,理论上可能对于不同的内容具有相同的哈希值。但是,发生这种情况的可能性很小。
编辑(基于@elithrar 的评论): 由于对非常大的文件进行哈希计算,因此可能很耗时。您可以sha2
分块计算(大小取决于系列中的特定哈希算法sha2
)。这使您能够及早退出,并提高速度。
- 1 回答
- 0 关注
- 289 浏览
添加回答
举报
0/150
提交
取消