[
https://issues.apache.org/jira/browse/GEODE-8213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17123934#comment-17123934
]
Jacob Barrett edited comment on GEODE-8213 at 6/2/20, 3:31 PM:
---------------------------------------------------------------
[~alberto.gomez] I am not at all surprised by this. The original code used spin
locks in a few places and the implantation was very platform specific, some was
assembly, inline assembly, or platform specific APIs. When converting over to
{{C++11}} standards we felt it best to just implement a {{C++11}} based
spin_lock with the same traits as the other {{C++11}} locks. The goal to was to
later profile and optimize locking throughout. Most of what goes on in the
registry here could be lock free or at worst shared lock both of which should
be available in Boost, which is already a dependency.
was (Author: jbarrett):
[~alberto.gomez] I am not at all surprised by this. The original code used spin
locks in a few places and the implantation was very platform specific, some was
assembly, inline assembly, or platform specific APIs. When converting over to
C++11 standards we felt it best to just implement a {{C++11}} based spin_lock
with the same traits as the other {{C++11}} locks. The goal to was to later
profile and optimize locking throughout. Most of what goes on in the registry
here could be lock free or at worst shared lock both of which should be
available in Boost, which is already a dependency.
> 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)