Hi Phillip, thank you for your detailed comments. > Have you got any numbers for the performance change? I have been using "git log -p -3000 --minimal > /dev/null", as in p4000-diff-algorithms.sh. With this patch, I get Time (mean ± σ): 2.363 s ± 0.023 s (25 runs) Without this patch, I get Time (mean ± σ): 2.362 s ± 0.035 s (25 runs) So the difference is well within the margin of error. It doesn't look like it has any measurable impact on performance. > I think the premise of this patch is sound, I've left a couple of comments below as I think we can simplify the code changes. Thanks a lot! I'll apply your suggestions and send a revised version shortly. Regards, Niels