edit this page - page history - about editing

Improving the performance of OAW

openArchitectureWare

First

Make sure you follow the golden rule of performance optimisation; find out what needs optimising, rather than guessing wildly in the dark.

Using an in-memory model

If in your workflow, you are exporting a model to a file, and then re-loading that model using the org.eclipse.mwe.emf.Reader component, you can be spending a lot of time on this unnecessary serialisation process.

Inspired by this discussion, you can create a new component in your workflow which will load a model from memory:
<component class="org.openiaml.model.codegen.php.CurrentModel">
  <modelSlot value="model" />
</component>
This allows you to create your own workflow component, CurrentModel, which can keep a reference to the model.

This can then be instantiated in your workflow:
CurrentModel.setCurrentModel(model);
// execute workflow
CurrentModel.setCurrentModel(null);

This can save up to 20% of your execution time in some cases.

Categories: OAW | Performance | Code Snippets

edit this page - what links to here? - page history - top
Last edited by jevon jevon 27 months ago