[wildfly-dev] CDI overhead

Brian Stansberry brian.stansberry at redhat.com
Mon Jun 30 11:00:49 EDT 2014


On 6/30/14, 9:57 AM, Anil Saldhana wrote:
> On 06/30/2014 09:53 AM, Andrig Miller wrote:
>>
>>
>> ------------------------------------------------------------------------
>>
>>     *From: *"Jozef Hartinger" <jharting at redhat.com>
>>     *To: *"Andrig Miller" <anmiller at redhat.com>, "wildfly-dev"
>>     <wildfly-dev at lists.jboss.org>
>>     *Sent: *Monday, June 30, 2014 4:03:59 AM
>>     *Subject: *Re: [wildfly-dev] CDI overhead
>>
>>     I guess that the Weld subsystem is enabled for your deployment
>>     because the deployment contains session beans. CDI is required to
>>     be enabled for such deployments since CDI 1.1 (even though CDI may
>>     not actually be used by your application).
>>
>> Why is it required, if it will never be used?  Is that really what the
>> spec says?  If so, why in the world would be support that in the
>> spec?  That simply doesn't make any sense to me. Perhaps I'm missing
>> something here.
>>
>> Andy
>
> Can we not enable some flag at the deployment level to disable CDI scanning?
>

That's what Stuart's suggestion does:

"You can remove it per-deployment using exclude-subsystem in
jboss-deployment-structure.xml."

>>     Alternatively to removing the Weld subsystems you can:
>>
>>     1) Suppress implicit bean archives - only archives with explicit
>>     beans.xml file will trigger CDI enablement. See
>>     http://weld.cdi-spec.org/documentation/#4
>>
>>     2) Enable CDI contexts for certain URL subset only:
>>     http://docs.jboss.org/weld/reference/2.2.2.Final/en-US/html/configure.html#context.mapping
>>
>>     Jozef
>>
>>     On 06/27/2014 06:44 PM, Andrig Miller wrote:
>>
>>         I should have posted this some time ago, but just forgot.
>>
>>         In my early testing of Wildfly 8, CDI adds quite a bit of
>>         overhead (12% reduction in throughput) for even an application
>>         that only uses servlets.  The only way I could get that back
>>         was to remove the subsystem.  In talking with Stuart at the
>>         time, he was looking at ways to make the overhead less.
>>
>>         Is there anything on the docket for making this overhead go
>>         away for deployments that don't require CDI?  If not, can we
>>         get something going in that direction.  It would be great to
>>         not have to remove the CDI subsystem, but not have it impact
>>         performance for deployments that don't use it.
>>
>>         Thanks.
>>
>
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>


-- 
Brian Stansberry
Senior Principal Software Engineer
JBoss by Red Hat


More information about the wildfly-dev mailing list