[
https://issues.apache.org/jira/browse/CXF-8571?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mint Media Interactive updated CXF-8571:
----------------------------------------
Description:
Using CXF for SOAP serialization we noticed a significant performance issue
with intensive CPU load when the serialization of enum values is involved: it
appeared to us that most time is spent in
org.apache.cxf.aegis.type.java5.EnumType while the annotation belonging to the
given enum is searched.
!callTree.png!
The sought annotation is XmlEnumValue, used to specify a custom string to
serialize a member of the enumeration, in place of its simple name. Our code
does not make use of that annotation: so we got a notable performance
improvement (about 20%-30% in some calls) just by modifying the EnumType class
in order to not look for it.
[^EnumType.mod.java] [^EnumType.java.diff]
We think it might be useful to have an option or setting to disable searching
for that annotation or to activate some other comparable optimization.
was:
Using CXF for SOAP serialization we noticed a significant performance issue
with intensive CPU load when the serialization of enum values is involved: it
appeared to us that most time is spent in
org.apache.cxf.aegis.type.java5.EnumType while the annotation belonging to the
given enum is searched.
!callTree.png!
The sought annotation is XmlEnumValue, used to specify a custom string to
serialize a member of the enumeration, in place of its simple name. Our code
does not make use of that annotation: so we got a notable performance
improvement (about 20%-30% in some calls) just by modifying the EnumType class
in order to not look for it.
[^EnumType.mod.java] [^EnumType.java.diff]
We think it might be useful to have an option or setting to disable searching
for that annotation or to activate some other comparable optimization.
> Enum serialization slowed down by the search for XmlEnumValue annotation.
> -------------------------------------------------------------------------
>
> Key: CXF-8571
> URL: https://issues.apache.org/jira/browse/CXF-8571
> Project: CXF
> Issue Type: Bug
> Components: Aegis Databinding
> Affects Versions: 3.3.5
> Reporter: Mint Media Interactive
> Priority: Major
> Labels: Enum, XmlEnumValue, perfomance, reflection, serialization
> Attachments: EnumType.java.diff, EnumType.mod.java, callTree.png
>
>
> Using CXF for SOAP serialization we noticed a significant performance issue
> with intensive CPU load when the serialization of enum values is involved: it
> appeared to us that most time is spent in
> org.apache.cxf.aegis.type.java5.EnumType while the annotation belonging to
> the given enum is searched.
> !callTree.png!
> The sought annotation is XmlEnumValue, used to specify a custom string to
> serialize a member of the enumeration, in place of its simple name. Our code
> does not make use of that annotation: so we got a notable performance
> improvement (about 20%-30% in some calls) just by modifying the EnumType
> class in order to not look for it.
> [^EnumType.mod.java] [^EnumType.java.diff]
> We think it might be useful to have an option or setting to disable searching
> for that annotation or to activate some other comparable optimization.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)