快速二进制差异为10 MB文件

时间:2012-03-14 20:58:59

标签: linux binary diff

我有两个10 MB的文件,我想找到带有偏移量的最长公共子序列,例如:结果应如下所示:

42 bytes at offset 5 of the first file and offset 8 of the second file
85 bytes at offset 100 of the first file and offset 55 of the second file
...

这是一次性的任务,我只能在一对文件上运行它。

我不关心编程语言,但必须在Linux上运行。

我尝试过命令行工具bsdiffxdelta,但是他们的输出差异文件格式太复杂而无法理解,而且缺少任何文档 - 因此我必须理解复杂且无证件获取这些结果的C源代码。这需要几个小时,而我没有那么多时间,所以我放弃了这条道路。

我已经尝试过Perl模块String :: LCSS_XS,但是它太慢了(现在已经运行了一个小时),Perl模块算法:: Diff :: XS,但它需要太多的内存,并且Perl模块算法:: LCSS,但速度太慢(在Perl中实现)。我在Python中找不到任何有用的东西(内置的difflib太慢了)。

是否有一个工具可以快速(即少于几个小时)运行10 MB文件,我可以在不到一个小时的工作时将其输出转换为我想要的格式?

0 个答案:

没有答案