Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a filter+cache mechanism for addon needing to be called #112

Open
dvojtise opened this issue Jun 18, 2019 · 2 comments
Open

Add a filter+cache mechanism for addon needing to be called #112

dvojtise opened this issue Jun 18, 2019 · 2 comments

Comments

@dvojtise
Copy link
Contributor

in relation with #111,
The computation of the order may take some time and decrease execution time since it is currently done before and after each step.

We should provide a way to cache this for a given execution.

Additionally, we can add in the addon definition some information about the list of notification/event that the addon is really interested in.

By default, an addon would notified about everything, but if we can filter on which events an addon must be notified, then we would also save some time by not calling the "empty" method for it.

see how the addons are called in https://github.com/eclipse/gemoc-studio-modeldebugging/blob/master/framework/execution_framework/plugins/org.eclipse.gemoc.executionframework.engine/src/org/eclipse/gemoc/executionframework/engine/core/AbstractExecutionEngine.java

@ebousse
Copy link
Contributor

ebousse commented Jun 18, 2019

This is interesting, but before making such a change it would be nice to measure how much could be gained. Is this really a big waste of time, to call methods that do nothing?

It seems the JVM takes care of it automatically, since it inlines methods called regularly, which in our case means deleting the method call since the replacement is an empty method body. See https://stackoverflow.com/questions/43482380/does-calling-an-empty-method-in-java-use-resources

@dvojtise
Copy link
Contributor Author

dvojtise commented Jun 18, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants