Performance problem when updating an EMF model [message #196684] |
Thu, 19 July 2007 00:47 |
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 #196700 is a reply to message #196692] |
Thu, 19 July 2007 13:21 |
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 14:28 |
David Carver Messages: 174 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 19:19 |
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
|
|
|
Powered by
FUDForum. Page generated in 0.01986 seconds