有很多二进制差异工具:
等等。它们很棒,但是是单线程的。是否可以在块上拆分大文件,同时找到块之间的差异,然后合并到最终的增量中?是否有任何其他工具、库可以在合理的时间内找到非常大的文件(数百 Gb)和 RAM 之间的差异?可能我可以自己实现算法,但找不到任何关于它的论文。
有很多二进制差异工具:
等等。它们很棒,但是是单线程的。是否可以在块上拆分大文件,同时找到块之间的差异,然后合并到最终的增量中?是否有任何其他工具、库可以在合理的时间内找到非常大的文件(数百 Gb)和 RAM 之间的差异?可能我可以自己实现算法,但找不到任何关于它的论文。
ECMerge是多线程的,能够比较大文件。
库以在合理的时间内找到非常大的文件(数百 Gb)和 RAM 之间的增量?
尝试 HDiffPatch,它用于 50GB 游戏(不是测试 100GB):https
://github.com/sisong/HDiffPatch
它可以快速运行大文件,但不是多线程不同;
创建补丁:hdiffz -s-1k -c-zlib old_path new_path out_delta_file
应用补丁:hpatchz old_path delta_file out_new_path
diff 与 -s-1k 并输入 100GB 文件,需要 ~ 100GB*16/1k < 2GB 字节的内存;如果与 -s-128k 不同,则时间和内存更少;
bsdiff 可以更改为多线程不同:
但是这种方式需要非常大的内存!(不适合大文件)