[jboss-jira] [JBoss JIRA] (WFCORE-3466) Add reflection option to org.jboss.as.controller.parsing.ExtensionParsingContext
David Lloyd (JIRA)
issues at jboss.org
Tue Dec 19 18:18:00 EST 2017
David Lloyd created WFCORE-3466:
-----------------------------------
Summary: Add reflection option to org.jboss.as.controller.parsing.ExtensionParsingContext
Key: WFCORE-3466
URL: https://issues.jboss.org/browse/WFCORE-3466
Project: WildFly Core
Issue Type: Enhancement
Components: Domain Management
Reporter: David Lloyd
As a way to combat aggressive class initialization, WFCORE-1841 added a variant method to {{ExtensionParsingContext}} which allowed a supplier of a parser to be provided.
This has resulted in an explosion of lambda usage; around 150 calls to this method exist, most of which supply constructor references as the {{Supplier}} argument.
We can theoretically save considerable metaspace by doing one of the following:
* Add a variation of the method which accepts a {{Class}} instead of a {{Supplier}}; it uses {{Class.newInstance()}} or {{Class.getConstructor().newInstance()}} to instantiate the parser on demand
* Create a reflective {{Supplier}} implementation which, given a {{Class}}, uses it in this way to construct instances
Performance impact should be very minimal, as the overhead of calling a constructor is less than that of compiling a method reference, and the overhead in metaspace is nearly non-existent in comparison.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list