Explore the potential improvements to 'std::shared_mutex' through the addition of 'reserve', 'upgrade', and 'downgrade' methods in this 19-minute conference talk from ACCU. Begin with a review of the C++17 specification for 'std::shared_mutex', then examine a competitive implementation supporting these new methods. Analyze benchmark results across three dimensions: concurrent lock accesses, read access percentage, and lock hold time duration. Gain insights into the performance implications of these proposed enhancements and their potential impact on common usage scenarios. Consider the trade-offs between interface complexity and performance gains in this Linux-focused exploration of shared mutex optimization.
Overview
Syllabus
Intro
Pre-Introduction: std::shared_mutex
Recent Scenarios
std::shared_mutex::lock
So why is this not part of the C++ Standard?
Micro-Benchmark
std::shared_mutex vs. std::mutex
What happened to downgrade?
Conclusion
Taught by
ACCU Conference