Community
Participate
Working Groups
Sphinx makes heavy use of EcorePlatformUtil. In our scenarios, we see this as a performance impact. org.eclipse.sphinx.emf.resource.ContextAwareProxyURIHelper.augmentToContextAwareProxy(EObject, Resource) seems to call EcorePlatformUtil.getFile(....) for all proxy. In effect, that will invoke code like org.eclipse.core.internal.localstore.FileSystemResourceManager.resourceForLocation(IPath, boolean) FileSystemResourceManager.java 32276 for each proxy. However, this seems quite inefficient, since the file for a given Resource is unlikely to change. Would it be possible to cache this. The problem are cases, where the file could actually be changed between to invocations: * E.g. by resetting the URI (--> could be mitigated by actually caching resource & URI) * the file is actually really gone (e.g. by manipulating projects / IResources between invocations directly) or filtered....
Sorry, but I cannot see where ContextAwareProxyURIHelper#augmentToContextAwareProxy() calls EcorePlatformUtil#getFile(). EcorePlatformUtil isn't even imported by ContextAwareProxyURIHelper. Could you state the actual location where the use of EcorePlatformUtil#getFile() causes performance problems? Thanks.
Closed stale issue before migration