Move NonSortingRowDiffer to the library code. Prove that it works (much) faster, assuming your dataset is pre-sorted.