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.