author | Tay Ray Chuan <rctay89@gmail.com> | |
Tue, 12 Jul 2011 06:10:25 +0000 (14:10 +0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 12 Jul 2011 16:29:20 +0000 (09:29 -0700) | ||
commit | 8c912eea94a2138e8bc608f7c390eb0b313effb0 | |
tree | 244d67eaac3f77d6645bdf69b87e23a90dbb2485 | tree | snapshot |
parent | 46c8f2988dc9a6012babd5833a6245ceff214483 | commit | diff |
teach --histogram to diff
Port JGit's HistogramDiff algorithm over to C. Rough numbers (TODO) show
that it is faster than its --patience cousin, as well as the default
Meyers algorithm.
The implementation has been reworked to use structs and pointers,
instead of bitmasks, thus doing away with JGit's 2^28 line limit.
We also use xdiff's default hash table implementation (xdl_hash_bits()
with XDL_HASHLONG()) for convenience.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Port JGit's HistogramDiff algorithm over to C. Rough numbers (TODO) show
that it is faster than its --patience cousin, as well as the default
Meyers algorithm.
The implementation has been reworked to use structs and pointers,
instead of bitmasks, thus doing away with JGit's 2^28 line limit.
We also use xdiff's default hash table implementation (xdl_hash_bits()
with XDL_HASHLONG()) for convenience.
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile | diff | blob | history | |
diff.c | diff | blob | history | |
merge-recursive.c | diff | blob | history | |
t/t4049-diff-histogram.sh | [new file with mode: 0755] | blob |
xdiff/xdiff.h | diff | blob | history | |
xdiff/xdiffi.c | diff | blob | history | |
xdiff/xdiffi.h | diff | blob | history | |
xdiff/xhistogram.c | [new file with mode: 0644] | blob |