|
Re: GMF Diagram performance [message #1130145 is a reply to message #1130117] |
Wed, 09 October 2013 08:55 |
Ed Merks Messages: 33218 Registered: July 2009 |
Senior Member |
|
|
Martin,
Comments below.
On 09/10/2013 10:37 AM, Martin Jacob wrote:
> Hi,
>
> I have a diagram generated from ecore model doing all the steps
> necessary as on the GMF Dashboard. The model size is typical 3,000
> nodes and 6,000 connections but larger models could include 100,000
> nodes and 200,000 connections. The smaller model is displayed in a
> reasonable time. But the large model takes ages.
>
> The application setup is as follow. The model is build in C++ code and
> used for fast calculations. From the C++ model the appropriate XMI
> file is generated. This XMI file is the input for the GMF Diagram.
> Recently a JNI wrapper from the C++ model to Java exists.
>
> To overcome the performance issues I looking for a way to skip the XMI
> file and use the JNI wrapper.
Do you know this to be a performance bottleneck based on measurements?
> I know by using GEF its possible to use an own model. This is what we
> did but the performance for the large model is not much better as
> loading the XMI file into the GMF diagram. The only time saving is
> because the XMI file is not needed.
Yes, and how significant is that?
>
> I tried already to reduce features in the GMF diagram as we only need
> to display the model and modifications are reduced to move node and
> bend connections but not adding or deleting model elements. Did not
> have luck with that one as well to get a satisfying performance.
Have you done any measurements with a profiler? Often the killer for
performance nasty O(n^2) algorithms and perhaps you can specialize parts
of the framework to avoid that.
>
> Does any one have similar experience and found a solution to quickly
> display a diagram?
> May be GEF is not the right framework to use? Zest seams to be not
> much faster as I tried this as well.
Laying out 100,000 nodes with 200,000 connections might well just be an
inherently expensive operation...
>
> any hint are highly appreciated, Martin
Maybe someone else has some experience...
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: GMF Diagram performance [message #1130158 is a reply to message #1130145] |
Wed, 09 October 2013 09:14 |
Martin Jacob Messages: 191 Registered: July 2009 |
Senior Member |
|
|
Comments below
schrieb Ed Merks, Am 09.10.2013 10:55:
> Martin,
>
> Comments below.
>
> On 09/10/2013 10:37 AM, Martin Jacob wrote:
>> Hi,
>>
>> I have a diagram generated from ecore model doing all the steps necessary as on the GMF Dashboard.
>> The model size is typical 3,000 nodes and 6,000 connections but larger models could include
>> 100,000 nodes and 200,000 connections. The smaller model is displayed in a reasonable time. But
>> the large model takes ages.
>>
>> The application setup is as follow. The model is build in C++ code and used for fast calculations.
>> From the C++ model the appropriate XMI file is generated. This XMI file is the input for the GMF
>> Diagram. Recently a JNI wrapper from the C++ model to Java exists.
>>
>> To overcome the performance issues I looking for a way to skip the XMI file and use the JNI wrapper.
> Do you know this to be a performance bottleneck based on measurements?
The time saved is the generation of the XMI file itself. As this takes minutes.
>> I know by using GEF its possible to use an own model. This is what we did but the performance for
>> the large model is not much better as loading the XMI file into the GMF diagram. The only time
>> saving is because the XMI file is not needed.
> Yes, and how significant is that?
>>
>> I tried already to reduce features in the GMF diagram as we only need to display the model and
>> modifications are reduced to move node and bend connections but not adding or deleting model
>> elements. Did not have luck with that one as well to get a satisfying performance.
> Have you done any measurements with a profiler? Often the killer for performance nasty O(n^2)
> algorithms and perhaps you can specialize parts of the framework to avoid that.
I am using Java Monitor but could not figure out how to get the most time consuming code sequence.
What profiler you recommend?
>>
>> Does any one have similar experience and found a solution to quickly display a diagram?
>> May be GEF is not the right framework to use? Zest seams to be not much faster as I tried this as
>> well.
> Laying out 100,000 nodes with 200,000 connections might well just be an inherently expensive
> operation...
The code to calculate the nodes coordinates is done within a second or two. So this is not the issue.
>>
>> any hint are highly appreciated, Martin
> Maybe someone else has some experience...
>
|
|
|
Re: GMF Diagram performance [message #1130177 is a reply to message #1130158] |
Wed, 09 October 2013 09:32 |
Ed Merks Messages: 33218 Registered: July 2009 |
Senior Member |
|
|
Martin,
Comments below.
On 09/10/2013 11:14 AM, Martin Jacob wrote:
> Comments below
>
> schrieb Ed Merks, Am 09.10.2013 10:55:
>> Martin,
>>
>> Comments below.
>>
>> On 09/10/2013 10:37 AM, Martin Jacob wrote:
>>> Hi,
>>>
>>> I have a diagram generated from ecore model doing all the steps
>>> necessary as on the GMF Dashboard.
>>> The model size is typical 3,000 nodes and 6,000 connections but
>>> larger models could include
>>> 100,000 nodes and 200,000 connections. The smaller model is
>>> displayed in a reasonable time. But
>>> the large model takes ages.
>>>
>>> The application setup is as follow. The model is build in C++ code
>>> and used for fast calculations.
>>> From the C++ model the appropriate XMI file is generated. This XMI
>>> file is the input for the GMF
>>> Diagram. Recently a JNI wrapper from the C++ model to Java exists.
>>>
>>> To overcome the performance issues I looking for a way to skip the
>>> XMI file and use the JNI wrapper.
>> Do you know this to be a performance bottleneck based on measurements?
> The time saved is the generation of the XMI file itself. As this takes
> minutes.
That's very long! This is all in the C++ code I assume...
>>> I know by using GEF its possible to use an own model. This is what
>>> we did but the performance for
>>> the large model is not much better as loading the XMI file into the
>>> GMF diagram. The only time
>>> saving is because the XMI file is not needed.
>> Yes, and how significant is that?
>>>
>>> I tried already to reduce features in the GMF diagram as we only
>>> need to display the model and
>>> modifications are reduced to move node and bend connections but not
>>> adding or deleting model
>>> elements. Did not have luck with that one as well to get a
>>> satisfying performance.
>> Have you done any measurements with a profiler? Often the killer for
>> performance nasty O(n^2)
>> algorithms and perhaps you can specialize parts of the framework to
>> avoid that.
> I am using Java Monitor but could not figure out how to get the most
> time consuming code sequence. What profiler you recommend?
I use YourKit, which is excellent, but not cheap, though they do provide
licenses for open source development if you publicly acknowledge using
their tool...
>>>
>>> Does any one have similar experience and found a solution to quickly
>>> display a diagram?
>>> May be GEF is not the right framework to use? Zest seams to be not
>>> much faster as I tried this as
>>> well.
>> Laying out 100,000 nodes with 200,000 connections might well just be
>> an inherently expensive
>> operation...
> The code to calculate the nodes coordinates is done within a second or
> two. So this is not the issue.
That's reassuring...
>>>
>>> any hint are highly appreciated, Martin
>> Maybe someone else has some experience...
>>
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Powered by
FUDForum. Page generated in 0.03476 seconds