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