DifferenceKit
A fast and flexible O(n) difference algorithm framework
...See also his paper A technique for isolating differences between files released in 1978. It allows all kind of diffs to be calculated in linear time O(n). RxDataSources and IGListKit are also implemented based on his algorithm. The type of the element that to take diffs must be conform to the Differentiable protocol.