Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Build times and feedback when generating code
Build times and feedback when generating code [message #704065] Thu, 28 July 2011 08:38 Go to next message
Dirk Hoffmann is currently offline Dirk HoffmannFriend
Messages: 163
Registered: July 2009
Senior Member
Hi,

when generating code from the root of the genmodel connected to a rather
huge model I found that the generation of the code goes quite quickly.

However then the Workbench goes into some kind of frozen state. I
suppose it is recompiling all the generated source files and those that
depend on them. Strangewisely there is no "Building workspace" progress
indicator.

For small changes I only generate code for specific model elements. But
often I feel unsafe about this so I tend the re-generate everything.

Is there a way to reduce the build time after such overall code generation?

Is this a known problem?

Thanks and regards,
Dirk
Re: Build times and feedback when generating code [message #704316 is a reply to message #704065] Thu, 28 July 2011 13:38 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33136
Registered: July 2009
Senior Member
Dirk,

Comments below.

On 28/07/2011 1:38 AM, Dirk Hoffmann wrote:
> Hi,
>
> when generating code from the root of the genmodel connected to a
> rather huge model I found that the generation of the code goes quite
> quickly.
Yes, it's surprising fast given it's never been performance tuned...
>
> However then the Workbench goes into some kind of frozen state. I
> suppose it is recompiling all the generated source files and those
> that depend on them. Strangewisely there is no "Building workspace"
> progress indicator.
What all ends up happening depends quite a bit on what's installed
because that affects the builders. I would expect at the end a single
workspace delta to be produced and that all the normal things that would
happen in response to that (just as in response to saving a single file)
would kick in. The generator does nothing to invoke a build so in the
end, isn't the thing responsible for producing a progress indicator...
>
> For small changes I only generate code for specific model elements.
> But often I feel unsafe about this so I tend the re-generate everything.
That's usually a good idea.
>
> Is there a way to reduce the build time after such overall code
> generation?
No.
>
> Is this a known problem?
No. The generator is quite smart in that it compares the generated file
against what's there already and if there is no change, it doesn't save
the results. The result is that generating produces a minimal delta and
the build kicked off in response is doing as little as possible. I do
notice that things like the indexer that Xtext installs adds
significantly to the build time.

Have you tried keeping the Progress view on top to see what kicks in
after the generation step?

I assume you're doing generate from the Generator? I noticed that
things like the workflow engine do a full refresh of the workspace and
that takes quite long, especially in a large workspace.
>
> Thanks and regards,
> Dirk


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Build times and feedback when generating code [message #704865 is a reply to message #704316] Fri, 29 July 2011 06:04 Go to previous messageGo to next message
Dirk Hoffmann is currently offline Dirk HoffmannFriend
Messages: 163
Registered: July 2009
Senior Member
Hi Ed,

thanks for your hints.

I opened the progress view, wasn't aware of it before, and it said
"Building Workspace" and "Flushing content description cache".

Over time I installed more and more features into my Helios
installation, Xtext or Workflow Engine not being amongst them. Maybe
some of the others are causing the wasteful builds. I should set up a
new installation and use this opportunity to move to Indigo.

Regards,
Dirk

Am 28.07.2011 15:38, schrieb Ed Merks:
> Dirk,
>
> Comments below.
>
> On 28/07/2011 1:38 AM, Dirk Hoffmann wrote:
>> Hi,
>>
>> when generating code from the root of the genmodel connected to a
>> rather huge model I found that the generation of the code goes quite
>> quickly.
> Yes, it's surprising fast given it's never been performance tuned...
>>
>> However then the Workbench goes into some kind of frozen state. I
>> suppose it is recompiling all the generated source files and those
>> that depend on them. Strangewisely there is no "Building workspace"
>> progress indicator.
> What all ends up happening depends quite a bit on what's installed
> because that affects the builders. I would expect at the end a single
> workspace delta to be produced and that all the normal things that would
> happen in response to that (just as in response to saving a single file)
> would kick in. The generator does nothing to invoke a build so in the
> end, isn't the thing responsible for producing a progress indicator...
>>
>> For small changes I only generate code for specific model elements.
>> But often I feel unsafe about this so I tend the re-generate everything.
> That's usually a good idea.
>>
>> Is there a way to reduce the build time after such overall code
>> generation?
> No.
>>
>> Is this a known problem?
> No. The generator is quite smart in that it compares the generated file
> against what's there already and if there is no change, it doesn't save
> the results. The result is that generating produces a minimal delta and
> the build kicked off in response is doing as little as possible. I do
> notice that things like the indexer that Xtext installs adds
> significantly to the build time.
>
> Have you tried keeping the Progress view on top to see what kicks in
> after the generation step?
>
> I assume you're doing generate from the Generator? I noticed that things
> like the workflow engine do a full refresh of the workspace and that
> takes quite long, especially in a large workspace.
>>
>> Thanks and regards,
>> Dirk
Re: Build times and feedback when generating code [message #705288 is a reply to message #704865] Fri, 29 July 2011 16:55 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 7655
Registered: July 2009
Senior Member
Hi Dirk
>
> I should set up a new installation and use this opportunity to move to
> Indigo.
>
If your build time issues are a serious problem rather than an
irritation, I would recommend experimenting with Indigo before
committing to it.

My suspicions, that I have not been able to pin down adequately to raise
sufficient Bugzillas, is that there are adverse builder interactions between
modeling projects and that they have got worse in Indigo. I have
certainly observed Xtext index removal as a prolific entry in the build
progress,
but I think this is actually just showing many small jobs blocked by
something else. I have also observed Acceleo saving many recompiled programs
after seemingly small irrelevant changes.

It is probably necessary for the modeling project as a whole to study
its builder interactions so that ordering assumptions that may enable
JDT to work well are not undermined by model-triggered regenerations. I
regularly see the progress percentage making many backward steps.

Regards

Ed Willink
Previous Topic:how to make AND operation between two conditions in EmfFacet
Next Topic:Displaying children without references from parent
Goto Forum:
  


Current Time: Thu Apr 18 14:27:37 GMT 2024

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

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

Back to the top