The generic EMF comparison engine uses statistics in order to match elements. It compares their content, their type, the relations with other objects and their name. This process gives good results on many metamodels, especially specific ones, but it can be costly for instance on UML models because there are many attributes on each element. On the other side, big models and standard ones are often serialized in XMI using IDs.
The generic engine now uses these IDs if they are available in order to find matching elements: the cost is close to zero and the correctness is good. Next step is to use the functional IDs one may define in an Ecore metamodel.
Here comes a screenshot showing the current state of the EMF Compare project, comparing two UML files.
