You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Yakov Zhdanov (JIRA)" <ji...@apache.org> on 2016/06/02 05:25:59 UTC
[jira] [Created] (IGNITE-3233) need to optimize injections
Yakov Zhdanov created IGNITE-3233:
-------------------------------------
Summary: need to optimize injections
Key: IGNITE-3233
URL: https://issues.apache.org/jira/browse/IGNITE-3233
Project: Ignite
Issue Type: Improvement
Reporter: Yakov Zhdanov
Assignee: Semen Boikov
Priority: Blocker
Fix For: 1.7
{noformat}
I want to check how this closure performs vs empty one:
ignite.compute().affinityCall(xx, xx, new IgniteCallable<Object>() {
@IgniteInstanceResource
Ignite ignite;
@SpringApplicationContextResource
ApplicationContext ctx;
Object bean1;
Object bean2;
@Override public Object call() throws Exception {
bean1 = ctx.getBean(bean1class);
bean2 = ctx.getBean(bean2class);
return null;
}
});
{noformat}
Closure above is 3 times slower than Noop closure. Injections should be optimized.
I see the following options:
# Annotations
## Introduce SpringAware annotation and annotate each object that will need injection including SPI and internal stuff
## Support Spring Autowire annotation.
## I am not sure about the approach. We can use ApplicationContext.autowire() or generate and compile code that will do injections.
# Interfaces
## IgniteAware
## Spring ApplicationContext aware
## ...
Implementor should suggest and back solution with microbenchmarks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)