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

Alberto Gomez commented on GEODE-8213:
--------------------------------------

Thanks Jake

I tried first shared locks but the implementation in the boost version we have 
is suboptimal so I found no gain.

I later tried with the shared lock that comes with C++14 and there I was able 
to see a big gain.

My final implementation has been using lock free structures and given that the 
gain was a little better than with C++14 and that it was not required to 
upgrade the C++ version this is the one I am planning to include.

I will check the unit style benchmarks you pointed me at.

> C++ native client performance bottleneck in access to serialization registry
> ----------------------------------------------------------------------------
>
>                 Key: GEODE-8213
>                 URL: https://issues.apache.org/jira/browse/GEODE-8213
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Alberto Gomez
>            Assignee: Alberto Gomez
>            Priority: Major
>             Fix For: 1.14.0
>
>
> It's been observed that when the number of threads used in a Geode client 
> using PdxSerialization is greater than 8, there is an important drop in 
> performance.
> Analysing the client process behavior with perf, it has been observed a very 
> high CPU consumption by a spinlock 
> (apache::geode::util::concurrent::spinlock_mutex::lock) used when accessing 
> the serialization registry .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to