Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » ATL » Long ATL file taking much time to save in Eclipse
Long ATL file taking much time to save in Eclipse [message #1791306] Thu, 28 June 2018 02:52 Go to next message
Ruchika Kumar is currently offline Ruchika KumarFriend
Messages: 50
Registered: January 2017
Member
Not sure if this is a problem of Eclipse but my ATL file with approx 2000 lines of code takes too long to save in Eclipse. I am using Eclipse Oxygen with ATL 3.8 installed.
Re: Long ATL file taking much time to save in Eclipse [message #1791320 is a reply to message #1791306] Thu, 28 June 2018 06:52 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis WagelaarFriend
Messages: 372
Registered: September 2012
Location: Belgium
Senior Member

This should have been fixed in ATL 3.7 already:
https://projects.eclipse.org/projects/modeling.mmt.atl/releases/3.7.0

Can you post the ATL file, so I can reproduce the problem?


Cheers,
Dennis
Re: Long ATL file taking much time to save in Eclipse [message #1791352 is a reply to message #1791320] Thu, 28 June 2018 10:07 Go to previous messageGo to next message
Ruchika Kumar is currently offline Ruchika KumarFriend
Messages: 50
Registered: January 2017
Member
Hi Dennis,

Thanks for replying.

I tried ATL 3.7 with Eclipse Neon but the issue still persists. Here is the ATL file.

Best,
Ruchika

  • Attachment: Test.atl
    (Size: 102.87KB, Downloaded 18 times)
Re: Long ATL file taking much time to save in Eclipse [message #1791453 is a reply to message #1791352] Fri, 29 June 2018 17:20 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis WagelaarFriend
Messages: 372
Registered: September 2012
Location: Belgium
Senior Member

I've reproduced your problem: this is indeed not workable. The problem is the ATL parser, which is not efficient in parsing imperative "do" block code, i.e. the large pieces of code in your called rules. I've attached my measurements (you can load the .nps file in jvisualvm for a detailed analysis).

You may log a bug for this in the Eclipse Bugzilla.


Cheers,
Dennis
Re: Long ATL file taking much time to save in Eclipse [message #1791932 is a reply to message #1791453] Sat, 07 July 2018 23:35 Go to previous messageGo to next message
Ruchika Kumar is currently offline Ruchika KumarFriend
Messages: 50
Registered: January 2017
Member
Thanks for the analysis.

I have now logged a bug (#536787) for it.

Any idea if this will be fixed soon?

[Updated on: Wed, 11 July 2018 01:58]

Report message to a moderator

Re: Long ATL file taking much time to save in Eclipse [message #1792020 is a reply to message #1791932] Tue, 10 July 2018 07:44 Go to previous message
Frederic Jouault is currently offline Frederic JouaultFriend
Messages: 1
Registered: June 2013
Junior Member
Hello,

There is indeed a performance issue with parsing large action blocks (aka. 'do' blocks) containing many nested if statements.

Most of the time parsing your ATL file is spent parsing rule connectNodes, which contains such an action block.

Here is a first workaround to try:
- put rule connectNodes in a separate ATL file (e.g., connectNodes.atl)
- keep all other rules in the first ATL file,
- superimpose both files for execution.

connectNodes.atl will still require a long parsing time, but you should be able to work on your other rules normally.

A second workaround (that may be combined with the first one) is to divide rule connectNodes into several subrules, avoiding having a single rule with too many nested if statements.


Best regards,

Frédéric

[Updated on: Thu, 12 July 2018 17:49]

Report message to a moderator

Previous Topic:Input model element copied many times in target model
Next Topic:Create cartesian product from list
Goto Forum:
  


Current Time: Wed Sep 19 05:05:28 GMT 2018

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

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

Back to the top