Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Web Tools Project (WTP) » Performance problem when updating an EMF model
Performance problem when updating an EMF model [message #196684] Wed, 18 July 2007 20:47 Go to next message
Eclipse User
Originally posted by: ying_sun.yahoo.com

Hi,

First thanks for reading this post.

We have implemented a multipage editor that contains several pages
showing the EMF model and one source page showing the XML. The source
page is basically the XML editor provided by WST, and it is synchronized
via EMF2DOM adapters.

Things are working fine when simple editing is performed on EMF model.
However, we ran into serious performance problem when the EMF model
becomes bigger and operations involve complex update. For example, one
atomic operation creates many new EMF nodes and set their attributes,
and the operation becomes very slow and can take minutes to finish, due
to the heavy listening/updating from the XML editor.

Just wondering if anyone in this newsgroup has similar experience. Any
suggestion would be greatly appreciated!

Thanks
Re: Performance problem when updating an EMF model [message #196692 is a reply to message #196684] Thu, 19 July 2007 09:57 Go to previous messageGo to next message
David Carver is currently offline David Carver
Messages: 173
Registered: July 2009
Senior Member
Ying wrote:
> Hi,
>
> First thanks for reading this post.
>
> We have implemented a multipage editor that contains several pages
> showing the EMF model and one source page showing the XML. The source
> page is basically the XML editor provided by WST, and it is synchronized
> via EMF2DOM adapters.
>
> Things are working fine when simple editing is performed on EMF model.
> However, we ran into serious performance problem when the EMF model
> becomes bigger and operations involve complex update. For example, one
> atomic operation creates many new EMF nodes and set their attributes,
> and the operation becomes very slow and can take minutes to finish, due
> to the heavy listening/updating from the XML editor.
>
> Just wondering if anyone in this newsgroup has similar experience. Any
> suggestion would be greatly appreciated!
>
There is already an open bug for this particular issue.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=156564

You might want to add your comments and experience with this issue. I
run into this limitation quite a bit when working with large XML file
and XSD files. Add your vote to the bug, and any additional
information you have so that it hopefully can be addressed in 3.0 or sooner.

Dave
Re: Performance problem when updating an EMF model [message #196700 is a reply to message #196692] Thu, 19 July 2007 09:21 Go to previous messageGo to next message
Eclipse User
Originally posted by: valentinbaciu.hotmail.com

David, if the original poster refers to the common EMF->DOM adapters (used
by the J2EE components for example) then I believe your statement is not
correct: the schema editor does not use this type of adapters.

"David Carver" <d_a_carver@yahoo.com> wrote in message
news:f7nn3u$8um$1@build.eclipse.org...
> Ying wrote:
>> Hi,
>>
>> First thanks for reading this post.
>>
>> We have implemented a multipage editor that contains several pages
>> showing the EMF model and one source page showing the XML. The source
>> page is basically the XML editor provided by WST, and it is synchronized
>> via EMF2DOM adapters.
>>
>> Things are working fine when simple editing is performed on EMF model.
>> However, we ran into serious performance problem when the EMF model
>> becomes bigger and operations involve complex update. For example, one
>> atomic operation creates many new EMF nodes and set their attributes, and
>> the operation becomes very slow and can take minutes to finish, due to
>> the heavy listening/updating from the XML editor.
>>
>> Just wondering if anyone in this newsgroup has similar experience. Any
>> suggestion would be greatly appreciated!
>>
> There is already an open bug for this particular issue.
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=156564
>
> You might want to add your comments and experience with this issue. I run
> into this limitation quite a bit when working with large XML file and XSD
> files. Add your vote to the bug, and any additional information you have
> so that it hopefully can be addressed in 3.0 or sooner.
>
> Dave
Re: Performance problem when updating an EMF model [message #196708 is a reply to message #196700] Thu, 19 July 2007 10:28 Go to previous messageGo to next message
David Carver is currently offline David Carver
Messages: 173
Registered: July 2009
Senior Member
Valentin wrote:
> David, if the original poster refers to the common EMF->DOM adapters (used
> by the J2EE components for example) then I believe your statement is not
> correct: the schema editor does not use this type of adapters.


I could be mistaken, and probably am, as I'm not overly familiar with
the way the various structured editors work, but regardless. All I know
is that with very very large XML documents, all the various editors,
have unacceptable performance. To the point where you can not do
editing at a source code level, because of the reconcilation that is
happening with the various models.

I can easily provide examples to duplicate the problem, on a single core
processor (not sure what performance is like with a multi core system,
and an optimized jvm like jrockit that handles multi-core systems).

Anyways, I see that the issue I mentioned is targeted for 3.0, so I look
forward to helping out with this issue anyway that I can, as it is
affecting my end users.
Re: Performance problem when updating an EMF model [message #196869 is a reply to message #196700] Fri, 20 July 2007 15:19 Go to previous message
Eclipse User
Originally posted by: ying_sun.yahoo.com

Valentin wrote:
> David, if the original poster refers to the common EMF->DOM adapters (used
> by the J2EE components for example) then I believe your statement is not
> correct: the schema editor does not use this type of adapters.
>
> "David Carver" <d_a_carver@yahoo.com> wrote in message
> news:f7nn3u$8um$1@build.eclipse.org...
>> Ying wrote:
>>> Hi,
>>>
>>> First thanks for reading this post.
>>>
>>> We have implemented a multipage editor that contains several pages
>>> showing the EMF model and one source page showing the XML. The source
>>> page is basically the XML editor provided by WST, and it is synchronized
>>> via EMF2DOM adapters.
>>>
>>> Things are working fine when simple editing is performed on EMF model.
>>> However, we ran into serious performance problem when the EMF model
>>> becomes bigger and operations involve complex update. For example, one
>>> atomic operation creates many new EMF nodes and set their attributes, and
>>> the operation becomes very slow and can take minutes to finish, due to
>>> the heavy listening/updating from the XML editor.
>>>
>>> Just wondering if anyone in this newsgroup has similar experience. Any
>>> suggestion would be greatly appreciated!
>>>
>> There is already an open bug for this particular issue.
>>
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=156564
>>
>> You might want to add your comments and experience with this issue. I run
>> into this limitation quite a bit when working with large XML file and XSD
>> files. Add your vote to the bug, and any additional information you have
>> so that it hopefully can be addressed in 3.0 or sooner.
>>
>> Dave
>
>
Hi,

Yes, we are using common EMF->DOM adapters that helps automatically sync
up the DOM tree with the change a user made on the EMF model.

We are experiencing performance problem when making consecutive update
on the EMF model within an atomic operation, due to the synchronization
performed on the DOM tree as well as XML model, which is used by the
editor's XML source page. On a not-so-large document (~200k), adding an
EMF element to its container takes about 150 milliseconds. When an
operation involves lots of addition the performance becomes unbearable.

Is there a way that we can temporarily halt the update on the XML model
side until all the updates are finished? This way we might be able to
achieve some performance gain by avoiding many iterations of model
reparsing?

Thanks.

Ying
Previous Topic:What makes a project 'applicable' to a server?
Next Topic:WTP News feed is now http://www.eclipse.org/webtools/news/
Goto Forum:
  


Current Time: Fri Apr 18 11:48:08 EDT 2014

Powered by FUDForum. Page generated in 0.01687 seconds