-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
This primarily concerns the synchronization overhead for keeping the underlying hash-map thread-safe, as the current implementation adopts an exclusive lock to protect the map and all of its buckets. Acquiring and releasing this lock shows up in performance profiles for YCSB 100% read:
This synchronization id done for every operation, and despite having a very small critical section, Top shows up as a bottleneck for read-heavy workloads. A possible improvement is reading reader-writer locks for the map and making updates to buckets lock-free.