标准(迈尔斯),最小,耐心和直方图差异算法产生的不同结果的例子

Pet*_*lák 44 diff git-diff

Git提供了这4种差异算法,但没有任何进一步的信息,它们的区别是什么.

每种算法有哪些优点?是否存在算法执行方式不同的各种情况的比较?

jel*_*oks 36

我认为支持多种算法,因为在所有情况下,没有一种算法显然是最佳选择.

不同之处在于补丁输出的可读性和生成补丁所需的处理时间.

总而言之,这就是我所理解的差异:

以下是Myers,耐心和直方图的速度比较:http://marc.info/? l = git&m = 133103975225142&w = 2

以下是直方图与迈尔斯的差异输出的比较:http://marc.info/? l = git&m = 138023003519837&w = 2


Yus*_*UMS 5

虽然只比较了两种算法:Myers 和 Histogram,但它可能会有所帮助。Nugroho 等人的一项研究。揭示了两种算法之间的分歧程度diff。该研究进行了 3 项比较,即指标、SZZ 算法和补丁。从metrics和SZZ的比较中,我们可以看到Myers和Histogram在不同识别代码更改的数量上存在很大差异。确实,这些diff's对变化的描述都不是正确的。然而,从手动补丁比较来看,直方图算法提供了diff更好地描述人类变化意图的合理输出。