albertogpz commented on pull request #621: URL: https://github.com/apache/geode-native/pull/621#issuecomment-647987941
The shared_lock provided by boost offered a much worse performance than the spinlock or the mutex. There is a tiny gain according to the benchmark performance test in most cases using a mutex: ``` Benchmark Time CPU Time Old Time New CPU Old CPU New ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:1 -0.0997 -0.0998 193 174 193 174 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:2 -0.1107 -0.1107 100 89 199 177 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:4 -0.0666 -0.0667 51 48 206 192 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:8 -0.0151 -0.0160 32 32 259 255 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:16 +0.0258 +0.0430 24 25 300 313 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:32 +0.0843 +0.0349 22 24 309 320 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:64 +0.0283 +0.0359 22 23 312 323 SerializationRegistryBM_findDataSerializablePrimitive/real_time/threads:96 -0.1669 +0.0336 25 21 315 326 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:1 -0.0925 -0.0925 190 173 190 173 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:2 -0.0528 -0.0529 98 93 197 186 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:4 -0.0803 -0.0803 53 49 213 195 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:8 -0.0801 -0.0802 35 32 279 256 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:16 -0.0189 -0.0052 26 25 318 316 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:32 -0.0000 +0.0145 25 25 325 330 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:64 -0.0363 +0.0179 24 24 327 332 SerializationRegistryBM_findDataSerializableFixedId/real_time/threads:96 -0.0465 +0.0151 24 23 328 333 SerializationRegistryBM_findDataSerializable/real_time/threads:1 -0.0557 -0.0557 193 183 193 183 SerializationRegistryBM_findDataSerializable/real_time/threads:2 -0.0190 -0.0190 98 97 197 193 SerializationRegistryBM_findDataSerializable/real_time/threads:4 -0.0716 -0.0722 56 52 222 206 SerializationRegistryBM_findDataSerializable/real_time/threads:8 -0.1733 -0.1726 37 30 295 244 SerializationRegistryBM_findDataSerializable/real_time/threads:16 -0.0343 -0.0065 26 25 322 319 SerializationRegistryBM_findDataSerializable/real_time/threads:32 +0.0158 +0.0069 25 25 327 329 SerializationRegistryBM_findDataSerializable/real_time/threads:64 -0.0160 +0.0143 25 25 326 331 SerializationRegistryBM_findDataSerializable/real_time/threads:96 +0.1475 +0.0089 22 25 329 332 SerializationRegistryBM_findPdxSerializable/real_time/threads:1 -0.0616 -0.0616 198 186 198 186 SerializationRegistryBM_findPdxSerializable/real_time/threads:2 -0.0794 -0.0795 101 93 202 186 SerializationRegistryBM_findPdxSerializable/real_time/threads:4 -0.0946 -0.0964 57 52 228 206 SerializationRegistryBM_findPdxSerializable/real_time/threads:8 -0.0001 -0.0016 38 38 303 302 SerializationRegistryBM_findPdxSerializable/real_time/threads:16 -0.0356 -0.0215 30 29 375 367 SerializationRegistryBM_findPdxSerializable/real_time/threads:32 -0.0635 -0.0182 29 27 383 376 SerializationRegistryBM_findPdxSerializable/real_time/threads:64 +0.0668 -0.0076 27 28 384 381 SerializationRegistryBM_findPdxSerializable/real_time/threads:96 +0.0098 -0.0051 28 28 386 384 ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org