eclipse-viatra / org.eclipse.viatra

Main components of the VIATRA framework
https://eclipse.dev/viatra
Eclipse Public License 2.0
0 stars 1 forks source link

Improve speed of scope calculation of EClasses with large metamodels #15

Open eclipse-viatra-bot opened 6 months ago

eclipse-viatra-bot commented 6 months ago

| --- | --- | | Bugzilla Link | 459482 | | Status | NEW | | Importance | P2 normal | | Reported | Feb 09, 2015 11:13 EDT | | Modified | Nov 23, 2020 08:30 EDT | | Version | oldinquery | | Depends on | 544439 | | See also | Gerrit change https://git.eclipse.org/r/103431, Git commit a129f223, Gerrit change https://git.eclipse.org/r/103943, Gerrit change https://git.eclipse.org/r/104365, Gerrit change https://git.eclipse.org/r/104889, Git commit 4f854bfa, Gerrit change https://git.eclipse.org/r/124262, Gerrit change https://git.eclipse.org/r/124261, Gerrit change https://git.eclipse.org/r/124260, Gerrit change https://git.eclipse.org/r/124259, Gerrit change https://git.eclipse.org/r/124749, Git commit cbb7cbb8, Git commit 416589cb, Git commit c9408d28, Git commit 4e1bb7dc, Git commit 5c79c432 | | Reporter | Abel Hegedus |

Description

It seems that in certain cases (closed sourced development, several huge Ecore models with large number of subpackages, generator.eiqgen used) the resource loading in GenModelMetamodelProviderService.findGenPackages takes up to 90% of the total build time on every save.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Feb 09, 2015 12:04

After a long session of profiling we have found out, that the main culprit is the loading of the metamodel (a 16 MB ecore file in this instance). I am not entirely sure whether this happens only once during parsing or many times (the different subpackages were referenced multiple times (~100 times) as imports.

The correct solution to me seems to rewrite the package import handling to use the Xtext Index (see also bug 412485)...

eclipse-viatra-bot commented 6 months ago

By Istvan Rath on Sep 29, 2015 08:41

Pushing these issues to the 1.2 timeframe.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Mar 17, 2016 08:26

Replaced target milestone from incquery with VIATRA

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Mar 17, 2016 08:55

Postponed issues to 1.3

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on May 26, 2016 08:43

1.3 M1 already passed.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Jun 22, 2016 02:50

Not realistic for 1.3.

However, as this feature highlight a major performance bottlenecks in case of complex domains, I have tentatively raised its priority for 1.4.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Sep 01, 2016 11:26

Not realistic for 1.4.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Jan 25, 2017 08:06

Postponed.

eclipse-viatra-bot commented 6 months ago

Aug 22, 2017 04:20

New Gerrit change created: https://git.eclipse.org/r/103431

eclipse-viatra-bot commented 6 months ago

Aug 24, 2017 07:39

Gerrit change https://git.eclipse.org/r/103431 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=a129f223e8ba069da8573929a9725cb8d77717b1

eclipse-viatra-bot commented 6 months ago

Aug 30, 2017 05:34

New Gerrit change created: https://git.eclipse.org/r/103943

eclipse-viatra-bot commented 6 months ago

Sep 05, 2017 10:19

New Gerrit change created: https://git.eclipse.org/r/104365

eclipse-viatra-bot commented 6 months ago

Sep 11, 2017 10:39

New Gerrit change created: https://git.eclipse.org/r/104889

eclipse-viatra-bot commented 6 months ago

Sep 11, 2017 15:19

Gerrit change https://git.eclipse.org/r/104365 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=4f854bfa51a62334c2e23e74b5df564c9295e7f2

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Oct 04, 2017 05:04

Postponing.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Feb 08, 2018 07:21

Postponing to a future release.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Jun 08, 2018 08:29

Today I had another session where I have found cases where metamodel resolution is slow (more specifically, it took about 15 second to load the VQL editor, and about 8-9 seconds were loading the metamodel repeatedly), and while looking at the details I have seen two areas to research that might improve the performance:

1) Instead of loading the metamodels into the ResourceSet used by the editors, TargetPlatformMetamodelIndex could maintain its own ResourceSet, and load the metamodels there. This way the metamodels needs to be reloaded only once, and then references will become cheaper. However, the usual when to dismiss results problems will still occur. 2) The PluginModelManager used inside the TargetPlatformMetamodelIndex has listener support called IPluginModelListener and IStateDeltaListener. These might be useful for implementing a non-experimental caching that would improve resolution speed for large/complex metamodels.

eclipse-viatra-bot commented 6 months ago

Jun 08, 2018 10:51

New Gerrit change created: https://git.eclipse.org/r/124262

eclipse-viatra-bot commented 6 months ago

Jun 08, 2018 10:51

New Gerrit change created: https://git.eclipse.org/r/124261

eclipse-viatra-bot commented 6 months ago

Jun 08, 2018 10:51

New Gerrit change created: https://git.eclipse.org/r/124260

eclipse-viatra-bot commented 6 months ago

Jun 08, 2018 10:51

New Gerrit change created: https://git.eclipse.org/r/124259

eclipse-viatra-bot commented 6 months ago

Jun 19, 2018 11:18

New Gerrit change created: https://git.eclipse.org/r/124749

eclipse-viatra-bot commented 6 months ago

Jun 19, 2018 12:23

Gerrit change https://git.eclipse.org/r/124259 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=cbb7cbb80018a28eed69311424bb7aa36c72ba16

eclipse-viatra-bot commented 6 months ago

Jun 19, 2018 12:23

Gerrit change https://git.eclipse.org/r/124260 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=416589cbd03a832b2884d67a523e2d74fc6e9ba4

eclipse-viatra-bot commented 6 months ago

Jun 19, 2018 12:23

Gerrit change https://git.eclipse.org/r/124262 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=c9408d289e2de9d33c2945d160eaf7972b775609

eclipse-viatra-bot commented 6 months ago

Jun 19, 2018 12:23

Gerrit change https://git.eclipse.org/r/124261 was merged to [master].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=4e1bb7dc91dfe13e28d58cfb8660df325dfaf16e

eclipse-viatra-bot commented 6 months ago

Jul 03, 2018 16:11

Gerrit change https://git.eclipse.org/r/124749 was merged to [2.0-maintenance].\ Commit: http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=5c79c43206a59a661acfde3750540794607e1ccc

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on May 27, 2019 07:49

Bugzilla cleanup.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Nov 20, 2019 05:51

Postponing issues to the next release.

eclipse-viatra-bot commented 6 months ago

By Zoltan Ujhelyi on Nov 23, 2020 08:30

Mass postponing of issues to the 2.6 timeframe.