[cdi-dev] microbenchmark for CDI performance

Mohan Radhakrishnan radhakrishnan.mohan at gmail.com
Tue Oct 28 01:18:29 EDT 2014


+1 for JMH

Thanks,
Mohan

On Tue, Oct 21, 2014 at 7:00 PM, Romain Manni-Bucau <rmannibucau at gmail.com>
wrote:

> hmm should it pass TCKs then? ;) /me is joking
>
>
> Romain Manni-Bucau
> @rmannibucau
> http://www.tomitribe.com
> http://rmannibucau.wordpress.com
> https://github.com/rmannibucau
>
>
> 2014-10-21 15:24 GMT+02:00 Mark Struberg <struberg at yahoo.de>:
> > Hi!
> >
> > Yes, I missed that you changed the test target. It is now not testing
> proxies but how fast ApplicationScoped beans injected into other
> ApplicationScoped beans work.
> >
> > I agree that this might be a valid performance optimisation, but people
> should be aware that this is done. Have seen quite a few 'ServiceHolder'
> with getters to the actual services in projects where CDI gets used in
> companion with legacy frameworks.
> >
> > I will add this as another use case to the test suite.
> >
> > LieGrue,
> > strub
> >
> >
> >
> >
> >> On Tuesday, 21 October 2014, 14:56, Jozef Hartinger <
> jharting at redhat.com> wrote:
> >> > For certain combinations of scopes this is a perfectly legal
> >> optimization ;-) It's even mentioned in the spec (see 6.5.5).
> >>
> >>
> >> On 10/21/2014 02:46 PM, Mark Struberg wrote:
> >>>  Folks, you really scare me a bit!
> >>>
> >>>  I debugged into it and for the first BeanManger#getReference I get a
> proxy.
> >>>
> >>>  But for all other BeanManager#getReference I get the bare metal
> >> SimpleBeanWithoutInterceptor WITHOUT ANY PROXY.
> >>>  Can you confirm this?
> >>>  If so, then please tell me how you make this Serializable if it gets
> stored
> >> e.g in a Http Session?
> >>>
> >>>
> >>>  This is just not conform to the CDI spec I fear. I even consider this
> a
> >> blocker bug...
> >>>
> >>>  LieGrue,
> >>>  strub
> >>>
> >>>
> >>>
> >>>>  On Tuesday, 21 October 2014, 14:07, Jozef Hartinger
> >> <jharting at redhat.com> wrote:
> >>>>>  Btw I've run your benchmark locally and observed the following
> >> results:
> >>>>  OWB 1.2.6: 9827ms
> >>>>  Weld 2.2.5.Final: 20ms
> >>>>
> >>>>  ;-)
> >>>>
> >>>>  I did however tweak the test a bit so that Weld's optimizations can
> >> be
> >>>>  leveraged[1]. I admit that in certain situations (like your test
> >> without
> >>>>  my change) Weld performs worse than it should and this is a good
> input
> >>>>  for us.
> >>>>
> >>>>  As for the NPE you observed not sure what is going on there. Perhaps
> >>>>  WeldContextControl implementation in DeltaSpike is not really thread
> >> safe?
> >>>>
> >>>>  Jozef
> >>>>
> >>>>  [1] https://github.com/jharting/cdi-performance/commits/weld
> >>>>
> >>>>  On 10/21/2014 01:43 PM, Jozef Hartinger wrote:
> >>>>>    Hi Mark,
> >>>>>
> >>>>>    thanks for showcasting your new feature. Great to see OWB getting
> >>>>>    faster! As for the micro benchmark I suggest that you check out
> >> JMH[1].
> >>>>>
> >>>>>    If you need an input from the Weld team, use
> >> weld-dev at lists.jboss.org
> >>>>>
> >>>>>    [1] http://openjdk.java.net/projects/code-tools/jmh/
> >>>>>
> >>>>>    On 10/21/2014 11:59 AM, Mark Struberg wrote:
> >>>>>>    Hi!
> >>>>>>
> >>>>>>    Weld folks, I need some help with a micro benchmark:
> >>>>>>
> >>>>>>    You know we've talked about disk footprint in SE, so I
> >> hacked
> >>>>  together a small microbenchmark and as a side effect we also got what
> >> is really
> >>>>  needed to have CDI running
> >>>>>>   https://github.com/struberg/cdi-performance
> >>>>>>
> >>>>>>    I'm curious about missing some dependency excludes for
> >> Weld.
> >>>>>>
> >>>>>>    could you please run
> >>>>>>
> >>>>>>    $> mvn clean dependency:copy-dependencies
> >> -DincludeScope=compile
> >>>>  -PWeld -Dweld.version=2.2.5.Final
> >>>>>>    $> ls -al target/dependency/
> >>>>>>
> >>>>>>    and tell me which dependencies can be without having some CDI
> >>>>  functionality missing?
> >>>>>>    Feel free to pimp the pom and ship a pull request.
> >>>>>>
> >>>>>>
> >>>>>>    txs and LieGrue,
> >>>>>>    strub
> >>>>>>    _______________________________________________
> >>>>>>    cdi-dev mailing list
> >>>>>>   cdi-dev at lists.jboss.org
> >>>>>>   https://lists.jboss.org/mailman/listinfo/cdi-dev
> >>>>>>
> >>>>>>    Note that for all code provided on this list, the provider
> >> licenses the
> >>>>  code under the Apache License, Version 2
> >>>>  (http://www.apache.org/licenses/LICENSE-2.0.html). For all other
> ideas
> >> provided
> >>>>  on this list, the provider waives all patent and other intellectual
> >> property
> >>>>  rights inherent in such information.
> >>>>
> >>>>>    _______________________________________________
> >>>>>    cdi-dev mailing list
> >>>>>   cdi-dev at lists.jboss.org
> >>>>>   https://lists.jboss.org/mailman/listinfo/cdi-dev
> >>>>>
> >>>>>    Note that for all code provided on this list, the provider
> >> licenses the
> >>>>  code under the Apache License, Version 2
> >>>>  (http://www.apache.org/licenses/LICENSE-2.0.html). For all other
> ideas
> >> provided
> >>>>  on this list, the provider waives all patent and other intellectual
> >> property
> >>>>  rights inherent in such information.
> >>>>
> >>
> > _______________________________________________
> > cdi-dev mailing list
> > cdi-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/cdi-dev
> >
> > Note that for all code provided on this list, the provider licenses the
> code under the Apache License, Version 2 (
> http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided on this list, the provider waives all patent and other
> intellectual property rights inherent in such information.
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the
> code under the Apache License, Version 2 (
> http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided on this list, the provider waives all patent and other
> intellectual property rights inherent in such information.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/cdi-dev/attachments/20141028/2d3460ab/attachment.html 


More information about the cdi-dev mailing list