Today I learnt about a cunning trick used by GNU diff to make Myer's algorithm faster: https://github.com/mitsuhiko/similar/issues/15
If you do an initial pass to find items that only occur on one side, you can discard them before diffing! They'll always be shown as changed.
miniblog.
Related Posts
Spent a bunch of time learning about text diffing algorithms this evening.
"Myers Algorithm" refers to a specific paper written by Eugene Myers, and he published faster algorithms later!
I've released difftastic 0.57! In this release:
* A bunch of improvements around detection and display of binary files.
* Fixed some diffing issues with (ironically) text files.
* Better diff results for Scheme.
I'm flattered that SemanticDiff has a blog post comparing it with difftastic! https://semanticdiff.com/blog/semanticdiff-vs-difftastic/
It's a pretty even-handed post, and it touches on some of the different design decisions. For example, SemanticDiff considers 0xA and 10 to be the same when diffing.
