[
https://issues.apache.org/jira/browse/CXF-6227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alessio Soldano updated CXF-6227:
---------------------------------
Attachment: fast-address-match.diff
While running my bench app, I noticed that the MessageImpl#calcContextCache()
hotspot is usually hit 3 times on client side for each request-response
pattern. That's because the AbstractConduitSelector#getSelectedConduit(Message
message) resets the context cache for all requests. While it would be great if
someone could confirm that's really required (also when a compatible Conduit is
found and no new one is created), I thought I would probably not be worth
computing the cache only because we have to check if the user wants a full
address url comparison or not when choosing the conduit (by default, that
property won't simply be there in the context). Moreover, the address match
there can also be optimized to avoid useless (and expensive) String creations.
The attached fast-address-match.diff has a patch for doing what's described
here above; I'm committing that in the next days, unless someone has valid
objections; it's not a dramatic perf change, but has no drawbacks afaics and
could help in some cases (~1.5% improvement in my scenario).
> JAX-WS client performance improvements
> --------------------------------------
>
> Key: CXF-6227
> URL: https://issues.apache.org/jira/browse/CXF-6227
> Project: CXF
> Issue Type: Improvement
> Components: Core
> Reporter: Alessio Soldano
> Assignee: Alessio Soldano
> Fix For: 3.0.4, 3.1.0
>
> Attachments: fast-address-match.diff, maps-patch.diff
>
>
> I've been running some performance tests and noticed few area in which we can
> apply optimizations.
> The most relevant issue is caused by
> https://bugs.openjdk.java.net/browse/JDK-8044726 and needs to be worked
> around while waiting for a fix in the JDK; more details at
> http://mail-archives.apache.org/mod_mbox/cxf-dev/201501.mbox/%3C54C7C78B.1010704%40redhat.com%3E
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)