From 94e741ce8779b850afe60f8c8058701c47fb79cb Mon Sep 17 00:00:00 2001 From: Mikhail Shatalov Date: Wed, 29 Nov 2023 06:19:41 -0800 Subject: [PATCH] Adding TimedRWMutex* to shared mutexes benchmark Summary: `fibers::TimedRWMutex` is fiber-friendly but less efficient; adding it to the benchmark to get a better idea of its performance. Reviewed By: owwlo Differential Revision: D51589948 fbshipit-source-id: a4386658837794d805d8c6a3750273f5cafc99da --- folly/test/SharedMutexTest.cpp | 110 +++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/folly/test/SharedMutexTest.cpp b/folly/test/SharedMutexTest.cpp index 0abc970a9b3..bd02ae8c3b4 100644 --- a/folly/test/SharedMutexTest.cpp +++ b/folly/test/SharedMutexTest.cpp @@ -31,6 +31,8 @@ #include #include +#include +#include #include #include #include @@ -638,6 +640,22 @@ static void pthrd_rwlock_reads( numOps, numThreads, useSeparateLocks); } +static void timed_wr_pri_reads( + uint32_t numOps, size_t numThreads, bool useSeparateLocks) { + runContendedReaders< + atomic, + fibers::TimedRWMutexWritePriority, + Locker>(numOps, numThreads, useSeparateLocks); +} + +static void timed_rd_pri_reads( + uint32_t numOps, size_t numThreads, bool useSeparateLocks) { + runContendedReaders< + atomic, + fibers::TimedRWMutexReadPriority, + Locker>(numOps, numThreads, useSeparateLocks); +} + template