eclipse-capella / capella

Open Source Solution for Model-Based Systems Engineering
https://mbse-capella.org
Eclipse Public License 2.0
222 stars 91 forks source link

Performance issue in the refresh #2853

Open scosta-obeo opened 3 months ago

scosta-obeo commented 3 months ago

Since Capella v7.0.0-S20240125:

The execution time of the refresh method has increased significantly: a big Capella diagram refresh from 2.31s (in 6.1) to 5.43s (in 7.0.0), -135%, -3.12s. After analysis, the main cause is this call stack, which differs from 6.1 to 7.0:

analyse-refresh-big-pab-regr

Calling the org.polarsys.capella.core.sirius.analysis.CapellaServices.getPhysicalLinkSemanticElements(DEdge) method takes a long time and wasn't there in the previous version. The commits c64c6d4d2cff8b024260b853e17b617183c63224 and 95b5b8652031f175dcd7437f3e6b35cbeba0a84b change aql:self to aql:view.getDisplayedInvolvingFunctionalChains() in the Capella odesign, in semantic elements of some edge mapping (SAB_PhysicalLink in context.odesign, LAB_PhysicalLink in logical.odesign, PAB_PhysicalLink in physical.odesign).