[
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)