Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » [Xtext] clustering Xtext builder
[Xtext] clustering Xtext builder [message #636378] Sun, 31 October 2010 21:06 Go to next message
Eclipse UserFriend
Originally posted by: koester.matthias.gmx.de

Hi,

During my work on my xtext based clojure IDE I stumbled across
Sebastians Blog at
http://zarnekow.blogspot.com/2010/08/how-to-reduce-memory-co nsumption-of.html
Since I'm using Xtext 1.0.1 for my IDE I tried to apply his suggestion
to my code. Most java application I know of will have an improved
performance when the memory requirement is decreased, because the GC
spends less cycles. But my current impression is that the clustering
builder doesn't improve the performance of my IDE. Of course I will
investigate this further, but nevertheless can you give me more
information about the benefits and\or trade-offs when using the
clustering builder?

BTW: I'm really impressed by your work! It's really fun to use Xtext!
Even if not everything is documented (altough the provided documentation
is already very good;-), most of the time a look on either the code or
on one of your blogs helps to understand more. Especially compared with
DLTK - which I tried to use before - it's much easier and faster to
create an IDE with Xtext. At least for a EMF and modeling guy like me
;-) Keep up the good work!

Best reagrds,
Matthias
Re: [Xtext] clustering Xtext builder [message #636426 is a reply to message #636378] Mon, 01 November 2010 08:53 Go to previous messageGo to next message
Sebastian Zarnekow is currently offline Sebastian ZarnekowFriend
Messages: 3118
Registered: July 2009
Senior Member
Hi Matthias,

thanks for the nice words.

The clustering builder will load resources more than once while the
default implementation requires only one load operation. That's why
you'll have actually more garbage collection operations because we
actively release memory by removing processed resources from the
resource set (to actually reload them for the next building operation).

Does this answer your question?

Regards,
Sebastian
--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com

Am 31.10.10 22:06, schrieb Matthias Köster:
> Hi,
>
> During my work on my xtext based clojure IDE I stumbled across
> Sebastians Blog at
> http://zarnekow.blogspot.com/2010/08/how-to-reduce-memory-co nsumption-of.html
> Since I'm using Xtext 1.0.1 for my IDE I tried to apply his suggestion
> to my code. Most java application I know of will have an improved
> performance when the memory requirement is decreased, because the GC
> spends less cycles. But my current impression is that the clustering
> builder doesn't improve the performance of my IDE. Of course I will
> investigate this further, but nevertheless can you give me more
> information about the benefits and\or trade-offs when using the
> clustering builder?
>
> BTW: I'm really impressed by your work! It's really fun to use Xtext!
> Even if not everything is documented (altough the provided documentation
> is already very good;-), most of the time a look on either the code or
> on one of your blogs helps to understand more. Especially compared with
> DLTK - which I tried to use before - it's much easier and faster to
> create an IDE with Xtext. At least for a EMF and modeling guy like me
> ;-) Keep up the good work!
>
> Best reagrds,
> Matthias
Re: [Xtext] clustering Xtext builder [message #636545 is a reply to message #636426] Mon, 01 November 2010 19:35 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: koester.matthias.gmx.de

Hi Sebastian,

Ok, I understand... Looks like you "reinvented" (or rediscovered? Best
wishes to Jan K.;-) an EMF scaleability pattern that we already applied
to Apollo for UML 5 years ago - for the same use case ;-)

So I'm really curious to learn more: Does that mean that the builder
also builds an index of all outgoing external crossreferences? Or why do
you have to load\resolve referenced resources\elements?

If that is the case: did you consider to use the qualified name of a
cross reference fragment to build an index of cross references? To avoid
resolving all cross references and so only have to load the resource you
want to index.
This could improve the perforamnce and memory consumption even further.
But of course that would only be possible if I'm exclusively using Xtext
resources (I guess Xtext uses qualified name for URIs as default -
right?) or implement such a fragment schema for all my resources. What
do you think about it?

BTW, I plan to give a short talk about my experinces with Xtext at the
Berlin DemoCamp on 7. December.

Best regards,
Matthias

Sebastian Zarnekow schrieb:
> Hi Matthias,
>
> thanks for the nice words.
>
> The clustering builder will load resources more than once while the
> default implementation requires only one load operation. That's why
> you'll have actually more garbage collection operations because we
> actively release memory by removing processed resources from the
> resource set (to actually reload them for the next building operation).
>
> Does this answer your question?
>
> Regards,
> Sebastian
Re: [Xtext] clustering Xtext builder [message #637407 is a reply to message #636545] Fri, 05 November 2010 12:05 Go to previous message
Jan Koehnlein is currently offline Jan KoehnleinFriend
Messages: 760
Registered: July 2009
Location: Hamburg
Senior Member
Hi Matthias,

it's all there: The XtextBuilder builds an index of the model resources
that does not only describe referrable resources therein (with fully
qualified names) but also all names that were resolved as references to
elements in other reosurces. Therefore we can selectively rebuild (load,
link and validate) only the minimum set of affected resources on change.

Have a look at the section on scoping in the Xtext docs as a primer for
our index structure.

Regards
Jan

Am 01.11.10 20:35, schrieb Matthias Köster:
> Hi Sebastian,
>
> Ok, I understand... Looks like you "reinvented" (or rediscovered? Best
> wishes to Jan K.;-) an EMF scaleability pattern that we already applied
> to Apollo for UML 5 years ago - for the same use case ;-)
>
> So I'm really curious to learn more: Does that mean that the builder
> also builds an index of all outgoing external crossreferences? Or why do
> you have to load\resolve referenced resources\elements?
>
> If that is the case: did you consider to use the qualified name of a
> cross reference fragment to build an index of cross references? To avoid
> resolving all cross references and so only have to load the resource you
> want to index.
> This could improve the perforamnce and memory consumption even further.
> But of course that would only be possible if I'm exclusively using Xtext
> resources (I guess Xtext uses qualified name for URIs as default -
> right?) or implement such a fragment schema for all my resources. What
> do you think about it?
>
> BTW, I plan to give a short talk about my experinces with Xtext at the
> Berlin DemoCamp on 7. December.
>
> Best regards,
> Matthias
>
> Sebastian Zarnekow schrieb:
>> Hi Matthias,
>>
>> thanks for the nice words.
>>
>> The clustering builder will load resources more than once while the
>> default implementation requires only one load operation. That's why
>> you'll have actually more garbage collection operations because we
>> actively release memory by removing processed resources from the
>> resource set (to actually reload them for the next building operation).
>>
>> Does this answer your question?
>>
>> Regards,
>> Sebastian


--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com


---
Get professional support from the Xtext committers at www.typefox.io
Previous Topic:References
Next Topic:XText 1.0.0 vs 1.0.1: Changes in implementation of ContentAssistContext ?
Goto Forum:
  


Current Time: Tue Apr 23 17:17:21 GMT 2024

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

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

Back to the top