Hi Balazs,
Thanks for the feedback! I don’t think we are using Viatra extensions, is there any information regarding on how to enable Viatra with Artop? If it’s something transparent I could just give it a try.
Regards,
Balazs
From: Balázs Grill [mailto:balazs.grill@xxxxxxxxxxxxxxxx]
Sent: Tuesday, February 12, 2019 10:45 AM
To: Sphinx Developer discussions <sphinx-dev@xxxxxxxxxxx>; Varnai, Balazs <Balazs_Varnai@xxxxxxxxxx>
Subject: RE: Model loading performance with large number of files
Hello Balazs,
It is a known problem, the current implementation of determining the scope of a proxy resolution scales linearly with the number of files in the workspace. Are the Viatra extensions enabled for your case (both in Sphinx and Artop)? It reduces
the proxy resolution time, though the linear nature remains.
In theory you could disable automatic proxy resolution by overriding the load operation, but it may prove difficult to inject it into existing code base. Also, if done on a separate thread (in a job) it would still block the UI on the first
model operation as an EMF transaction is implemented as an exclusive lock to the whole workspace model.
The optimal solution would be to resolve the root of the problem by reducing the effect of the number of files on proxy resolution. We had measurements about this problem before, I will look them up and contact you whether is there a possible
solution.
Best regards,
Balázs Grill
Software Engineer and Automotive Expert
IncQuery Labs Ltd.
Hi All,
We have an ARTop based tool that uses Sphinx for workspace management. In case of large number of resources (>500) the forced proxy resolution in org.eclipse.sphinx.emf.workspace.loading.operations.AbstractLoadOperation#loadModelFilesInEditingDomain
takes very long. As I understand resolving up front provides performance improvement for further operations at a cost of loading time (one time). However user experience would much better in our case if the load is quick, the user could begin work in the UI.
·
Would there be any side-effect to disable proxy resolution at load time (editors, refactor etc.)?
·
Is possible to implement an asynchronously force proxy resolution? Basically running forceProxyResolution in a scheduled way, in TransactionalEditingDomain#runExclusive section after the load completed. Should it be contained
in a Job?
·
Any experience in other projects with huge number of files?
I asked around in other forums with no response, so any help is appreciated.
Thanks!
Regards,
Balazs

Balazs Varnai, Software Developer, Mentor
[IESD]
balazs_varnai@xxxxxxxxxx |
office: 36 1 887 2017
www.mentor.com