Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » Performance on Query Legacy with Sirius 6.1.0
Performance on Query Legacy with Sirius 6.1.0 [message #1806745] Tue, 14 May 2019 15:28 Go to next message
Faycal Abka is currently offline Faycal AbkaFriend
Messages: 2
Registered: May 2019
Junior Member
Hello,

I have odesigns with query legacy (Acceleo 2) expressions and they reference some Acceleo scripts (.mt) . I have performances issues when using my diagrams.

I investigated and I noticed that loader (org.eclipse.sirius.query.legacy.tools.classloaders.AcceleoClassLoader) loads every time all classes services and scripts when I use a tool or I open diagram which must evaluate some Acceleo 2 expressions.

In addition, the referenced scripts (.mt) are tried to be loaded as "compiled classes" which causes over than a million of exceptions are thrown!

Do you encountered some kind of these issues?

Thank you.
Re: Performance on Query Legacy with Sirius 6.1.0 [message #1806778 is a reply to message #1806745] Wed, 15 May 2019 06:54 Go to previous messageGo to next message
Pierre-Charles David is currently offline Pierre-Charles DavidFriend
Messages: 491
Registered: July 2009
Senior Member
Hi,

As its name implies, "Query Legacy" is not supported. Actually, it has never been officialy supported since Sirius has been released as Sirius, and was only there as a compatibility shim. Note that starting from Sirius 6.2, it will not work at all anymore (the IInterpreter APIs have changed in incompatible ways, and Query Legacy will not be adapted to the change). The recommended language to use for your expressions since Sirius 3.1 is AQL: https://www.eclipse.org/sirius/doc/specifier/general/Writing_Queries.html#aql

Concerning your particular issue, this looks a lot like a (known) side-effect of the change made in https://bugs.eclipse.org/bugs/show_bug.cgi?id=465576, 4 years ago. The change was especially to invert the lookup order to look for compiled classes before .mt scripts, as in Capella (before 1.3 which fully switched to AQL), the Query Legacy expressions used a lot of Java services but no .mt scripts. There is a preference (look in org.eclipse.sirius.query.legacy/src/org/eclipse/sirius/query/legacy/preferences/AcceleoPreferenceConstants.java) to revert to the previous lookup order, but be aware that if your modeler is based on / using Capella before 1.3, reversing the order may improve the performance on your own expressions but degrade the performance of the rest of Capella.

Again, switching to AQL + Java services is the recommended way: it is much faster, safer, and supported.

Regards,
Pierre-Charles


Pierre-Charles David - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Re: Performance on Query Legacy with Sirius 6.1.0 [message #1806818 is a reply to message #1806778] Wed, 15 May 2019 15:27 Go to previous message
Faycal Abka is currently offline Faycal AbkaFriend
Messages: 2
Registered: May 2019
Junior Member
Hi Pierre-Charles,

Thank you for the answer!

Regards,
Faycal
Previous Topic:DDiagramElement of a programatically created model object
Next Topic:Is there any limit that session will hold only less mb of data
Goto Forum:
  


Current Time: Wed Oct 23 20:23:43 GMT 2019

Powered by FUDForum. Page generated in 0.01967 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top