Closed NicolasRouquette closed 6 years ago
With the profiler, a significant performance bottleneck comes from Xtext's linking, which in OML, is defined in gov.nasa.jpl.imce.oml.linking.OMLLinkingService.getLinkedObjects
.
When converting thousands of OML models in *.oml
textual concrete syntax, there can be hundreds of thousands of calls to OMLLinkingService.getLinkedObjects
even after all models have been loaded.
This is clearly an opportunity for a read-only cache optimization.
In
OMLSpecificationTables
loadOMLZipResource
should not callincludeModule
since it will be called, if needed, later inprocessQueue
.Test whether
void resolve(ResourceSet rs, OMLZipResource r)
has become superfluous and if so remove it.