summaryrefslogtreecommitdiff
path: root/t/t4135/git-plain.diff
diff options
context:
space:
mode:
authorLibravatar Phillip Wood <phillip.wood@dunelm.org.uk>2018-11-23 11:16:56 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-01-10 10:38:19 -0800
commit7a4252c4df49fe07bf91dbb5be2c6012f6a65329 (patch)
tree82b40cce9dd8619d2b4a40364ad13d6c086bd6b8 /t/t4135/git-plain.diff
parentdiff --color-moved=zebra: be stricter with color alternation (diff)
downloadtgif-7a4252c4df49fe07bf91dbb5be2c6012f6a65329.tar.xz
diff --color-moved-ws: optimize allow-indentation-change
When running git diff --color-moved-ws=allow-indentation-change v2.18.0 v2.19.0 cmp_in_block_with_wsd() is called 694908327 times. Of those 42.7% return after comparing a and b. By comparing the lengths first we can return early in all but 0.03% of those cases without dereferencing the string pointers. The comparison between a and c fails in 6.8% of calls, by comparing the lengths first we reject all the failing calls without dereferencing the string pointers. This reduces the time to run the command above by by 42% from 14.6s to 8.5s. This is still much slower than the normal --color-moved which takes ~0.6-0.7s to run but is a significant improvement. The next commits will replace the current implementation with one that works with mixed tabs and spaces in the indentation. I think it is worth optimizing the current implementation first to enable a fair comparison between the two implementations. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4135/git-plain.diff')
0 files changed, 0 insertions, 0 deletions