2Diff and Diff2 have the same functionality but Diff recomputes most information when making
consistency check while Diff2 stores this information. Therefore Diff is slower but uses less memory than
Diff2.
Diff and Diff2 have an additional boolean parameter specifying whether the profile based propagation algorithm will
be run. By default it is run.