Thread (7 messages) flat view 7 messages, 3 authors, 2016-06-15

Re: [PATCH] xdiff: optimise for no whitespace difference when ignoring whitespace.

From: Dylan Reid <hidden>
Date: 2016-06-15 22:49:05

On Mon, Jul 5, 2010 at 10:36 PM, Junio C Hamano [off-list ref] wrote:
Dylan Reid [off-list ref] writes:
quoted
In xdl_recmatch, do the memcmp to check if the two lines are equal before
checking if whitespace flags are set.  If the lines are identicle, then
"identical"?
That's exaclty what I meant.  Correct patch sent.
quoted
there is no need to check if they differ only in whitespace.
This makes the common case (there is no whitespace difference) faster.
It costs the case where lines are the same length and contain
whitespace differences, but the common case is more than 20% faster.
"more than 20% faster" based on what dataset and benchmark?
I benchmarked it with some of the bigger files from Linux.  The
results were consistenly > 20% faster
across different file sizes.  I tested it by simply running the
command a few times then running it with
my local build a few times to see if I had achieved any speedup.

~/linux-2.6(119)$ time git blame --incremental -w
./sound/pci/hda/patch_realtek.c > /dev/null

real    0m8.166s
user    0m8.063s
sys     0m0.090s
~/linux-2.6(120)$ time git blame --incremental -w
./sound/pci/hda/patch_realtek.c > /dev/null

real    0m8.010s
user    0m7.866s
sys     0m0.137s
~/linux-2.6(121)$ time ~/work/git/git blame --incremental -w
./sound/pci/hda/patch_realtek.c > /dev/null

real    0m6.115s
user    0m5.986s
sys     0m0.123s
~/linux-2.6(122)$ time ~/work/git/git blame --incremental -w
./sound/pci/hda/patch_realtek.c > /dev/null

real    0m6.119s
user    0m5.986s
sys     0m0.127s


Thanks for taking the time to read the patch.

Dylan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help