Is there parallel operation in Sirius? [message #1784524] |
Wed, 28 March 2018 22:01  |
Eclipse User |
|
|
|
Hi,
I want to know some information about parallel operations in Sirius.
1. Are there some parallel oprations in Sirius?
2. If there are, Which operations are in parallel?
3. About parallel operations, how does Obeo thinks about it?
In our scenario, the application is a large scale project, and it will create several thousands of diagrams, so we think about creating these diagrams in parallel in order to improve creating performance. Except creating diagram, there are also other operations, we also want to make it in parallel to improve performance.
So is there anyone can answer my question and give me some relevant advise?
Thank you very much!
|
|
|
Re: Is there parallel operation in Sirius? [message #1784532 is a reply to message #1784524] |
Thu, 29 March 2018 02:55   |
Eclipse User |
|
|
|
Hi,
We do not currently leverage parallelism or multiple threads, beside the basic pattern of moving long running operations outside of the UI thread using the Eclipse Jobs API. While we agree this would be a nice possibility, EMF itself is not really designed for that, see https://wiki.eclipse.org/EMF/FAQ#Is_EMF_thread-safe.3F. In the context of a given Sirius session (which maps to a ResourceSet in terms of EMF), trying to make changes (for example creating representations) from multiple threads is not supported. It's probably possible to manipulate different sessions in parallel, but because this is not a common use case we can not guarantee that this will work. Of cours if you try and find bugs, please report them and we'll try to fix them.
Can I ask why you feel that you need to create "several thousands of diagrams"? Diagrams (as opposed to the underlying semantic models) are only useful for actual human beings. I don't know what your use case is, but I'd recommend to only create the ones that will be used at the time they are first needed.
Regards,
[Updated on: Thu, 29 March 2018 02:56] by Moderator
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03795 seconds