Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 485329 - [Performances - Advices] Some advices are unnecessarily slow
Summary: [Performances - Advices] Some advices are unnecessarily slow
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Views (show other bugs)
Version: 1.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: SR2   Edit
Assignee: Camille Letavernier CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 485259
  Show dependency tree
 
Reported: 2016-01-07 05:06 EST by Camille Letavernier CLA
Modified: 2017-06-19 06:53 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Camille Letavernier CLA 2016-01-07 05:06:34 EST
Bug 485259 solved most of the performance issue in the properties view by caching the computation of advices for a given element type. However, we still notice some delays in some cases

Some advices take a lot of time to build simple commands, by e.g. navigating the entire model to find references, or doing computation for profiles that are not applied (e.g. Looking for SysML Stereotypes when SysML is not applied). This is especially visible with SysML, as it is installed by default in Papyrus, but other advices may be involved (Including UML ones).

In general, we should ensure that:

- Advices for a given language are involved only if the language is applied (e.g. Profiles)
- Advices always use the CacheAdapter when looking for incoming references/usages (Navigating the resource set doesn't scale)
- ...

This is critical for performances, as Advices can be involved everywhere (Properties view, diagram, context menus...) and can quickly kill performances when under-optimized
Comment 1 Camille Letavernier CLA 2016-01-07 05:30:00 EST
https://git.eclipse.org/r/#/c/63705/ fixes some SysML Advices

Tests still running locally in parallel to the Gerrit build, but since the SysML Tests currently contain a lot of failures it may be difficult to guarantee the result (Especially since I'm not sure how the SysML ConnectorEnds/PropertyPath should behave)
Comment 2 Camille Letavernier CLA 2016-01-07 07:46:06 EST
I've verified that the new CacheAdapter-based method returns the same results as the previous (slower) implementation (Without the duplicates). I will push the contribution to Neon to let Hudson give a verdict on the test results (I cannot properly check the test results locally)
Comment 3 Camille Letavernier CLA 2016-01-07 08:18:22 EST
Cherry pick to Mars: https://git.eclipse.org/r/#/c/63728/

I'm waiting for the test results on Hudson/Master before going further
Comment 4 Camille Letavernier CLA 2016-01-07 10:21:07 EST
The contribution didn't break any new test

I've merged https://git.eclipse.org/r/#/c/63728/ to Mars as well