Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdht-dev] performance problem with Eclipse Kepler / UML 5

We encountered a performance problem with UML 5 resulting in a O(n*n) runtime behaviour, it is reported here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=464427

MDHT (by its Schematron generator) suffers from the same bug - the inefficient O(n*n) implementation of NamespaceOperations.excludeCollisions() coupled by a coarse invalidation policy of the CacheAdapter - removing the cached result partly calculated by the former mentioned method on too many occasions of other EMF model modifications (that can take place in completely different resource(set)s).

The easiest way to solve this performance bug is certainly first to bring excludeCollisions() down to a O(n) runtime behaviour - I would not recommend to optimize CacheAdapter itself as its wings are too wide spread.

The Schematron generator experiences a performance gap from about half a minute using UML 4 to 100 minutes in UML 5 due to the O(n*n) implementation. NamespaceOperations.importMembers() (that calls excludeCollisions()) also has two nested for-loops, so after fixing excludeCollisions(), it could be still necessary to fix importMembers().




Back to the top