[ 
https://issues.apache.org/jira/browse/CXF-6738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15088199#comment-15088199
 ] 

ASF GitHub Bot commented on CXF-6738:
-------------------------------------

GitHub user asoldano opened a pull request:

    https://github.com/apache/cxf/pull/105

    [CXF-6738] Replace synchronized blocks with DCL to reduce contention

    Sending this as PR for getting explicit review. Please note I had to add a 
//NOPMD comment to please the PMD checks (which keep on saying that DCL is 
broken on Java, which is not exactly the case nowadays...)

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/asoldano/cxf CXF-6738

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cxf/pull/105.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #105
    
----
commit a4d92d3bb389f39fa3de8ca9c110d1360324c1d0
Author: Alessio Soldano <asold...@redhat.com>
Date:   2016-01-07T21:51:53Z

    [CXF-6738] Replace synchronized blocks with DCL to reduce contention

----


> Reduce contention on 
> org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo
> --------------------------------------------------------------------------------------
>
>                 Key: CXF-6738
>                 URL: https://issues.apache.org/jira/browse/CXF-6738
>             Project: CXF
>          Issue Type: Improvement
>          Components: JAX-WS Runtime
>            Reporter: Alessio Soldano
>
> By profiling some benchmark application, 
> org.apache.cxf.binding.soap.SoapTransportFactory$SoapEndpointInfo has been 
> found in the contention hotspots. That's because of the multiple synchronized 
> blocks in org.apache.cxf.ws.policy.PolicyEngineImpl, which seem to be there 
> basically for lazily getting the effective policy once the endpoint is fully 
> initialized.
> I propose to replace those synchronized blocks with (properly implemented) 
> double-checked locking idiom so that no locking actually happens after 
> endpoints have been initialized.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to