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/07 21:15:21 UTC

[jira] [Updated] (IGNITE-3233) need to optimize injections

     [ https://issues.apache.org/jira/browse/IGNITE-3233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yakov Zhdanov updated IGNITE-3233:
----------------------------------
    Assignee: Semen Boikov  (was: Yakov Zhdanov)

> 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
>              Labels: community, performance
>             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)