Community
Participate
Working Groups
The current implementations of getExportedObjectsByType() in the classes DescriptionAddingContainer and FilterUriContainer ends up iterating over all resources and calling the getExportedObjectsByType() method on those. It would be preferable to delegate the call instead. Furthermore this method should be overridden by FilterUriContainer anyways to implement the filtering.
Created attachment 210110 [details] proposed patch If there is no objection I would like to apply the attached patch. The performance problem was detected in a content assist use case. Normally this wouldn't make any difference really, as in the end the same thing would happen in ResourceDescriptionsData. But in our case the "index" is backed by a relational database and it is much better with a single query loading all objects compared to one query for every resource. Also note that the two mentioned classes already override getExportedObjects(EClass, QualifiedName, boolean) for pretty much the same reason: This query is optimized inside ResourceDescriptionsData.
+1
Fix pushed to master: http://git.eclipse.org/c/tmf/org.eclipse.xtext.git/commit/?id=aaf86a9c3595b920fb431d0daa4403c7975e1a47
Closing all bugs that were set to RESOLVED before Neon.0