|
proxygen
|
#include <folly/SharedMutex.h>#include <stdlib.h>#include <thread>#include <vector>#include <boost/optional.hpp>#include <boost/thread/shared_mutex.hpp>#include <folly/Benchmark.h>#include <folly/MPMCQueue.h>#include <folly/portability/GFlags.h>#include <folly/portability/GTest.h>#include <folly/synchronization/RWSpinLock.h>#include <folly/test/DeterministicSchedule.h>#include <folly/test/TestUtils.h>Go to the source code of this file.
Classes | |
| struct | TokenLocker |
| struct | Locker |
| struct | EnterLocker |
| struct | PosixRWLock |
| struct | PosixMutex |
Macros | |
| #define | BENCH_BASE(...) FB_VA_GLUE(BENCHMARK_NAMED_PARAM, (__VA_ARGS__)) |
| #define | BENCH_REL(...) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM, (__VA_ARGS__)) |
Typedefs | |
| typedef DeterministicSchedule | DSched |
| typedef SharedMutexImpl< true, void, DeterministicAtomic, true > | DSharedMutexReadPriority |
| typedef SharedMutexImpl< false, void, DeterministicAtomic, true > | DSharedMutexWritePriority |
Functions | |
| template<typename Lock > | |
| void | runBasicTest () |
| TEST (SharedMutex, basic) | |
| template<typename Lock > | |
| void | runBasicHoldersTest () |
| TEST (SharedMutex, basic_holders) | |
| template<typename Lock > | |
| void | runManyReadLocksTestWithTokens () |
| TEST (SharedMutex, many_read_locks_with_tokens) | |
| template<typename Lock > | |
| void | runManyReadLocksTestWithoutTokens () |
| TEST (SharedMutex, many_read_locks_without_tokens) | |
| template<typename Lock > | |
| void | runTimeoutInPastTest () |
| TEST (SharedMutex, timeout_in_past) | |
| template<class Func > | |
| bool | funcHasDuration (milliseconds expectedDuration, Func func) |
| template<typename Lock > | |
| void | runFailingTryTimeoutTest () |
| TEST (SharedMutex, failing_try_timeout) | |
| template<typename Lock > | |
| void | runBasicUpgradeTest () |
| TEST (SharedMutex, basic_upgrade_tests) | |
| TEST (SharedMutex, read_has_prio) | |
| TEST (SharedMutex, write_has_prio) | |
| template<template< typename > class Atom, typename Lock , typename Locker > | |
| static void | runContendedReaders (size_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | folly_rwspin_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | shmtx_wr_pri_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | shmtx_w_bare_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | shmtx_rd_pri_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | shmtx_r_bare_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | folly_ticket_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | boost_shared_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| static void | pthrd_rwlock_reads (uint32_t numOps, size_t numThreads, bool useSeparateLocks) |
| template<template< typename > class Atom, typename Lock , typename Locker > | |
| static void | runMixed (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | folly_rwspin (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | shmtx_wr_pri (uint32_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | shmtx_w_bare (uint32_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | shmtx_rd_pri (uint32_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | shmtx_r_bare (uint32_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | folly_ticket (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | boost_shared (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | pthrd_rwlock (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| static void | pthrd_mutex_ (size_t numOps, size_t numThreads, double writeFraction, bool useSeparateLocks) |
| template<typename Lock , template< typename > class Atom> | |
| static void | runAllAndValidate (size_t numOps, size_t numThreads) |
| TEST (SharedMutex, deterministic_concurrent_readers_of_one_lock_read_prio) | |
| TEST (SharedMutex, deterministic_concurrent_readers_of_one_lock_write_prio) | |
| TEST (SharedMutex, concurrent_readers_of_one_lock_read_prio) | |
| TEST (SharedMutex, concurrent_readers_of_one_lock_write_prio) | |
| TEST (SharedMutex, deterministic_readers_of_concurrent_locks_read_prio) | |
| TEST (SharedMutex, deterministic_readers_of_concurrent_locks_write_prio) | |
| TEST (SharedMutex, readers_of_concurrent_locks_read_prio) | |
| TEST (SharedMutex, readers_of_concurrent_locks_write_prio) | |
| TEST (SharedMutex, deterministic_mixed_mostly_read_read_prio) | |
| TEST (SharedMutex, deterministic_mixed_mostly_read_write_prio) | |
| TEST (SharedMutex, mixed_mostly_read_read_prio) | |
| TEST (SharedMutex, mixed_mostly_read_write_prio) | |
| TEST (SharedMutex, deterministic_mixed_mostly_write_read_prio) | |
| TEST (SharedMutex, deterministic_mixed_mostly_write_write_prio) | |
| TEST (SharedMutex, deterministic_lost_wakeup_write_prio) | |
| static std::size_t | adjustReps (std::size_t reps) |
| TEST (SharedMutex, mixed_mostly_write_read_prio) | |
| TEST (SharedMutex, mixed_mostly_write_write_prio) | |
| TEST (SharedMutex, deterministic_all_ops_read_prio) | |
| TEST (SharedMutex, deterministic_all_ops_write_prio) | |
| TEST (SharedMutex, all_ops_read_prio) | |
| TEST (SharedMutex, all_ops_write_prio) | |
| FOLLY_ASSUME_FBVECTOR_COMPATIBLE (boost::optional< boost::optional< SharedMutexToken >>) template< typename Lock | |
| template<typename > | |
| class Atom static void | runRemoteUnlock (size_t numOps, double preWriteFraction, double preUpgradeFraction, size_t numSendingThreads, size_t numReceivingThreads) |
| TEST (SharedMutex, deterministic_remote_write_prio) | |
| TEST (SharedMutex, deterministic_remote_read_prio) | |
| TEST (SharedMutex, remote_write_prio) | |
| TEST (SharedMutex, remote_read_prio) | |
| static void | burn (size_t n) |
| template<typename Lock , template< typename > class Atom = atomic> | |
| static void | runPingPong (size_t numRounds, size_t burnCount) |
| static void | folly_rwspin_ping_pong (size_t n, size_t scale, size_t burnCount) |
| static void | shmtx_w_bare_ping_pong (size_t n, size_t scale, size_t burnCount) |
| static void | shmtx_r_bare_ping_pong (size_t n, size_t scale, size_t burnCount) |
| static void | folly_ticket_ping_pong (size_t n, size_t scale, size_t burnCount) |
| static void | boost_shared_ping_pong (size_t n, size_t scale, size_t burnCount) |
| static void | pthrd_rwlock_ping_pong (size_t n, size_t scale, size_t burnCount) |
| TEST (SharedMutex, deterministic_ping_pong_write_prio) | |
| TEST (SharedMutex, deterministic_ping_pong_read_prio) | |
| TEST (SharedMutex, ping_pong_write_prio) | |
| TEST (SharedMutex, ping_pong_read_prio) | |
| BENCHMARK (single_thread_lock_shared_unlock_shared, iters) | |
| BENCHMARK (single_thread_lock_unlock, iters) | |
| BENCHMARK_DRAW_LINE () | |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 1thread, 1, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 1thread, 1, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 1thread, 1, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 1thread, 1, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 2thread, 2, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 2thread, 2, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 2thread, 2, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 2thread, 2, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 4thread, 4, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 4thread, 4, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 4thread, 4, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 4thread, 4, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 8thread, 8, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 8thread, 8, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 8thread, 8, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 8thread, 8, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 16thread, 16, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 16thread, 16, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 16thread, 16, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 16thread, 16, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 32thread, 32, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 32thread, 32, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 32thread, 32, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 32thread, 32, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_reads, 64thread, 64, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare_reads, 64thread, 64, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_reads, 64thread, 64, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_reads, 64thread, 64, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 1thread_all_write, 1, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 1thread_all_write, 1, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 1thread_all_write, 1, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 1thread_all_write, 1, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thread_all_write, 2, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 2thread_all_write, 2, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 2thread_all_write, 2, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 2thread_all_write, 2, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 4thread_all_write, 4, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 4thread_all_write, 4, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 4thread_all_write, 4, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 4thread_all_write, 4, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thread_all_write, 8, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 8thread_all_write, 8, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 8thread_all_write, 8, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 8thread_all_write, 8, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 16thread_all_write, 16, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 16thread_all_write, 16, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 16thread_all_write, 16, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 16thread_all_write, 16, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thread_all_write, 32, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 32thread_all_write, 32, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 32thread_all_write, 32, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 32thread_all_write, 32, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 64thread_all_write, 64, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 64thread_all_write, 64, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 64thread_all_write, 64, 1.0, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(pthrd_mutex_, 64thread_all_write, 64, 1.0, false)) BENCHMARK_DRAW_LINE() |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 1thread_10pct_write, 1, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 1thread_10pct_write, 1, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 1thread_10pct_write, 1, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thread_10pct_write, 2, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 2thread_10pct_write, 2, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 2thread_10pct_write, 2, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 4thread_10pct_write, 4, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 4thread_10pct_write, 4, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 4thread_10pct_write, 4, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thread_10pct_write, 8, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 8thread_10pct_write, 8, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 8thread_10pct_write, 8, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 16thread_10pct_write, 16, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 16thread_10pct_write, 16, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 16thread_10pct_write, 16, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thread_10pct_write, 32, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 32thread_10pct_write, 32, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 32thread_10pct_write, 32, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 64thread_10pct_write, 64, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 64thread_10pct_write, 64, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 64thread_10pct_write, 64, 0.10, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 1thread_1pct_write, 1, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 1thread_1pct_write, 1, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 1thread_1pct_write, 1, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 1thread_1pct_write, 1, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thread_1pct_write, 2, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 2thread_1pct_write, 2, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 2thread_1pct_write, 2, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 2thread_1pct_write, 2, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 4thread_1pct_write, 4, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 4thread_1pct_write, 4, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 4thread_1pct_write, 4, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 4thread_1pct_write, 4, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thread_1pct_write, 8, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 8thread_1pct_write, 8, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 8thread_1pct_write, 8, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 8thread_1pct_write, 8, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 16thread_1pct_write, 16, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 16thread_1pct_write, 16, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 16thread_1pct_write, 16, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 16thread_1pct_write, 16, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thread_1pct_write, 32, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 32thread_1pct_write, 32, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 32thread_1pct_write, 32, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 32thread_1pct_write, 32, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 64thread_1pct_write, 64, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_w_bare, 64thread_1pct_write, 64, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare, 64thread_1pct_write, 64, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| false false false | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared, 64thread_1pct_write, 64, 0.01, false)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thr_2lock_50pct_write, 2, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 2thr_2lock_50pct_write, 2, 0.50, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 4thr_4lock_50pct_write, 4, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thr_8lock_50pct_write, 8, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 8thr_8lock_50pct_write, 8, 0.50, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 16thr_16lock_50pct_write, 16, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thr_32lock_50pct_write, 32, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 32thr_32lock_50pct_write, 32, 0.50, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 64thr_64lock_50pct_write, 64, 0.50, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thr_2lock_10pct_write, 2, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 2thr_2lock_10pct_write, 2, 0.10, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 4thr_4lock_10pct_write, 4, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thr_8lock_10pct_write, 8, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 8thr_8lock_10pct_write, 8, 0.10, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 16thr_16lock_10pct_write, 16, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thr_32lock_10pct_write, 32, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 32thr_32lock_10pct_write, 32, 0.10, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 64thr_64lock_10pct_write, 64, 0.10, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 2thr_2lock_1pct_write, 2, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 2thr_2lock_1pct_write, 2, 0.01, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 4thr_4lock_1pct_write, 4, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 8thr_8lock_1pct_write, 8, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 8thr_8lock_1pct_write, 8, 0.01, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 16thr_16lock_1pct_write, 16, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true | FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin, 32thr_32lock_1pct_write, 32, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_rd_pri, 32thr_32lock_1pct_write, 32, 0.01, true)) FB_VA_GLUE(BENCHMARK_NAMED_PARAM |
| true true true true true true true true | FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_wr_pri, 64thr_64lock_1pct_write, 64, 0.01, true)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_ping_pong, burn0, 1, 0)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_ping_pong, burn0, 1, 0)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_ping_pong, burn0, 1, 0)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_ping_pong, burn100k, 100, 100000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_ping_pong, burn100k, 100, 100000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_ping_pong, burn100k, 100, 100000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_ping_pong, burn300k, 100, 300000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_ping_pong, burn300k, 100, 300000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_ping_pong, burn300k, 100, 300000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_NAMED_PARAM,(folly_rwspin_ping_pong, burn1M, 1000, 1000000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(shmtx_r_bare_ping_pong, burn1M, 1000, 1000000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| FB_VA_GLUE (BENCHMARK_RELATIVE_NAMED_PARAM,(boost_shared_ping_pong, burn1M, 1000, 1000000)) FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM | |
| int | main (int argc, char **argv) |
Variables | |
| shmtx_wr_pri_reads | |
| false | shmtx_rd_pri_reads |
| false false | folly_ticket_reads |
| false false false | pthrd_rwlock_reads |
| shmtx_wr_pri | |
| false | folly_ticket |
| false false | pthrd_rwlock |
| false | shmtx_rd_pri |
| true | folly_rwspin |
| shmtx_w_bare_ping_pong | |
| burn0 | |
| folly_ticket_ping_pong | |
| pthrd_rwlock_ping_pong | |
| burn100k | |
| burn300k | |
| burn1M | |
| #define BENCH_BASE | ( | ... | ) | FB_VA_GLUE(BENCHMARK_NAMED_PARAM, (__VA_ARGS__)) |
Definition at line 1435 of file SharedMutexTest.cpp.
| #define BENCH_REL | ( | ... | ) | FB_VA_GLUE(BENCHMARK_RELATIVE_NAMED_PARAM, (__VA_ARGS__)) |
Definition at line 1436 of file SharedMutexTest.cpp.
| typedef DeterministicSchedule DSched |
Definition at line 38 of file SharedMutexTest.cpp.
| typedef SharedMutexImpl<true, void, DeterministicAtomic, true> DSharedMutexReadPriority |
Definition at line 40 of file SharedMutexTest.cpp.
| typedef SharedMutexImpl<false, void, DeterministicAtomic, true> DSharedMutexWritePriority |
Definition at line 42 of file SharedMutexTest.cpp.
|
static |
Definition at line 1090 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread.
Referenced by TEST().
| BENCHMARK | ( | single_thread_lock_shared_unlock_shared | , |
| iters | |||
| ) |
Definition at line 1416 of file SharedMutexTest.cpp.
References folly::doNotOptimizeAway(), folly::lock(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock_shared(), and folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock_shared().
| BENCHMARK | ( | single_thread_lock_unlock | , |
| iters | |||
| ) |
Definition at line 1426 of file SharedMutexTest.cpp.
References folly::doNotOptimizeAway(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock(), folly::lock(), and folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock().
| BENCHMARK_DRAW_LINE | ( | ) |
|
static |
Definition at line 726 of file SharedMutexTest.cpp.
|
static |
Definition at line 1373 of file SharedMutexTest.cpp.
|
static |
Definition at line 606 of file SharedMutexTest.cpp.
|
static |
Definition at line 1293 of file SharedMutexTest.cpp.
References Atom, folly::doNotOptimizeAway(), and i.
Referenced by runPingPong().
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 1thread, 1, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 1thread, 1, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 1thread, 1, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 1thread, 1, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 2thread, 2, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 2thread, 2, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 2thread, 2, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 2thread, 2, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 4thread, 4, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 4thread, 4, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 4thread, 4, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 4thread, 4, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 8thread, 8, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 8thread, 8, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 8thread, 8, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 8thread, 8, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 16thread, 16, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 16thread, 16, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 16thread, 16, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 16thread, 16, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 32thread, 32, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 32thread, 32, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 32thread, 32, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 32thread, 32, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_reads, 64thread, 64, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare_reads, 64thread, 64, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_reads, 64thread, 64, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_reads, 64thread, 64, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 1thread_all_write, 1, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 1thread_all_write, 1, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 1thread_all_write, 1, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 1thread_all_write, 1, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thread_all_write, 2, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 2thread_all_write, 2, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 2thread_all_write, 2, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 2thread_all_write, 2, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 4thread_all_write, 4, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 4thread_all_write, 4, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 4thread_all_write, 4, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 4thread_all_write, 4, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thread_all_write, 8, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 8thread_all_write, 8, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 8thread_all_write, 8, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 8thread_all_write, 8, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 16thread_all_write, 16, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 16thread_all_write, 16, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 16thread_all_write, 16, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 16thread_all_write, 16, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thread_all_write, 32, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 32thread_all_write, 32, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 32thread_all_write, 32, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 32thread_all_write, 32, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 64thread_all_write, 64, 1.0, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 64thread_all_write, 64, 1.0, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 64thread_all_write, 64, 1.0, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (pthrd_mutex_, 64thread_all_write, 64, 1.0, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 1thread_10pct_write, 1, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 1thread_10pct_write, 1, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 1thread_10pct_write, 1, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thread_10pct_write, 2, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 2thread_10pct_write, 2, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 2thread_10pct_write, 2, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 4thread_10pct_write, 4, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 4thread_10pct_write, 4, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 4thread_10pct_write, 4, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thread_10pct_write, 8, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 8thread_10pct_write, 8, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 8thread_10pct_write, 8, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 16thread_10pct_write, 16, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 16thread_10pct_write, 16, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 16thread_10pct_write, 16, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thread_10pct_write, 32, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 32thread_10pct_write, 32, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 32thread_10pct_write, 32, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 64thread_10pct_write, 64, 0.10, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 64thread_10pct_write, 64, 0.10, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 64thread_10pct_write, 64, 0.10, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 1thread_1pct_write, 1, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 1thread_1pct_write, 1, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 1thread_1pct_write, 1, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 1thread_1pct_write, 1, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thread_1pct_write, 2, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 2thread_1pct_write, 2, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 2thread_1pct_write, 2, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 2thread_1pct_write, 2, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 4thread_1pct_write, 4, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 4thread_1pct_write, 4, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 4thread_1pct_write, 4, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 4thread_1pct_write, 4, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thread_1pct_write, 8, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 8thread_1pct_write, 8, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 8thread_1pct_write, 8, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 8thread_1pct_write, 8, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 16thread_1pct_write, 16, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 16thread_1pct_write, 16, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 16thread_1pct_write, 16, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 16thread_1pct_write, 16, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thread_1pct_write, 32, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 32thread_1pct_write, 32, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 32thread_1pct_write, 32, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 32thread_1pct_write, 32, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 64thread_1pct_write, 64, 0.01, false) | |||
| ) |
| false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_w_bare, 64thread_1pct_write, 64, 0.01, false) | |||
| ) |
| false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare, 64thread_1pct_write, 64, 0.01, false) | |||
| ) |
| false false false FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared, 64thread_1pct_write, 64, 0.01, false) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thr_2lock_50pct_write, 2, 0.50, true) | |||
| ) |
| true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 2thr_2lock_50pct_write, 2, 0.50, true) | |||
| ) |
| true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 4thr_4lock_50pct_write, 4, 0.50, true) | |||
| ) |
| true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thr_8lock_50pct_write, 8, 0.50, true) | |||
| ) |
| true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 8thr_8lock_50pct_write, 8, 0.50, true) | |||
| ) |
| true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 16thr_16lock_50pct_write, 16, 0.50, true) | |||
| ) |
| true true true true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thr_32lock_50pct_write, 32, 0.50, true) | |||
| ) |
| true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 32thr_32lock_50pct_write, 32, 0.50, true) | |||
| ) |
| true true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 64thr_64lock_50pct_write, 64, 0.50, true) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thr_2lock_10pct_write, 2, 0.10, true) | |||
| ) |
| true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 2thr_2lock_10pct_write, 2, 0.10, true) | |||
| ) |
| true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 4thr_4lock_10pct_write, 4, 0.10, true) | |||
| ) |
| true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thr_8lock_10pct_write, 8, 0.10, true) | |||
| ) |
| true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 8thr_8lock_10pct_write, 8, 0.10, true) | |||
| ) |
| true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 16thr_16lock_10pct_write, 16, 0.10, true) | |||
| ) |
| true true true true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thr_32lock_10pct_write, 32, 0.10, true) | |||
| ) |
| true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 32thr_32lock_10pct_write, 32, 0.10, true) | |||
| ) |
| true true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 64thr_64lock_10pct_write, 64, 0.10, true) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 2thr_2lock_1pct_write, 2, 0.01, true) | |||
| ) |
| true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 2thr_2lock_1pct_write, 2, 0.01, true) | |||
| ) |
| true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 4thr_4lock_1pct_write, 4, 0.01, true) | |||
| ) |
| true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 8thr_8lock_1pct_write, 8, 0.01, true) | |||
| ) |
| true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 8thr_8lock_1pct_write, 8, 0.01, true) | |||
| ) |
| true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 16thr_16lock_1pct_write, 16, 0.01, true) | |||
| ) |
| true true true true true true FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin, 32thr_32lock_1pct_write, 32, 0.01, true) | |||
| ) |
| true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_rd_pri, 32thr_32lock_1pct_write, 32, 0.01, true) | |||
| ) |
| true true true true true true true true FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_wr_pri, 64thr_64lock_1pct_write, 64, 0.01, true) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_ping_pong, burn0, 1, 0) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_ping_pong, burn0, 1, 0) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_ping_pong, burn0, 1, 0) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_ping_pong, burn100k, 100, 100000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_ping_pong, burn100k, 100, 100000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_ping_pong, burn100k, 100, 100000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_ping_pong, burn300k, 100, 300000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_ping_pong, burn300k, 100, 300000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_ping_pong, burn300k, 100, 300000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_NAMED_PARAM | , |
| (folly_rwspin_ping_pong, burn1M, 1000, 1000000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (shmtx_r_bare_ping_pong, burn1M, 1000, 1000000) | |||
| ) |
| FB_VA_GLUE | ( | BENCHMARK_RELATIVE_NAMED_PARAM | , |
| (boost_shared_ping_pong, burn1M, 1000, 1000000) | |||
| ) |
| FOLLY_ASSUME_FBVECTOR_COMPATIBLE | ( | boost::optional< boost::optional< SharedMutexToken >> | ) |
Referenced by TEST().
|
static |
Definition at line 672 of file SharedMutexTest.cpp.
|
static |
Definition at line 1357 of file SharedMutexTest.cpp.
|
static |
Definition at line 570 of file SharedMutexTest.cpp.
|
static |
Definition at line 717 of file SharedMutexTest.cpp.
|
static |
Definition at line 1369 of file SharedMutexTest.cpp.
|
static |
Definition at line 600 of file SharedMutexTest.cpp.
| bool funcHasDuration | ( | milliseconds | expectedDuration, |
| Func | func | ||
| ) |
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 2125 of file SharedMutexTest.cpp.
References testing::InitGoogleTest(), RUN_ALL_TESTS(), and folly::runBenchmarksOnFlag().
|
static |
Definition at line 744 of file SharedMutexTest.cpp.
References Atom.
|
static |
Definition at line 735 of file SharedMutexTest.cpp.
|
static |
Definition at line 1377 of file SharedMutexTest.cpp.
|
static |
Definition at line 612 of file SharedMutexTest.cpp.
References Atom.
|
static |
Definition at line 754 of file SharedMutexTest.cpp.
References BENCHMARK_SUSPEND, EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, i, folly::test::DeterministicSchedule::join(), now(), folly::pushmi::detail::t, folly::test::DeterministicSchedule::thread(), threads, uint64_t, and folly::fibers::yield().
| void runBasicHoldersTest | ( | ) |
Definition at line 86 of file SharedMutexTest.cpp.
References EXPECT_FALSE, EXPECT_TRUE, folly::lock(), and folly::gen::move.
| void runBasicTest | ( | ) |
Definition at line 45 of file SharedMutexTest.cpp.
References EXPECT_FALSE, EXPECT_TRUE, and folly::lock().
| void runBasicUpgradeTest | ( | ) |
Definition at line 319 of file SharedMutexTest.cpp.
References EXPECT_FALSE, EXPECT_TRUE, and folly::lock().
|
static |
Definition at line 530 of file SharedMutexTest.cpp.
References BENCHMARK_SUSPEND, folly::copy(), folly::doNotOptimizeAway(), folly::test::DeterministicSchedule::join(), folly::lock(), Locker::lock_shared(), folly::pushmi::detail::t, folly::test::DeterministicSchedule::thread(), threads, Locker::unlock_shared(), and folly::fibers::yield().
| void runFailingTryTimeoutTest | ( | ) |
Definition at line 247 of file SharedMutexTest.cpp.
References EXPECT_FALSE, EXPECT_TRUE, funcHasDuration(), folly::lock(), and now().
| void runManyReadLocksTestWithoutTokens | ( | ) |
Definition at line 179 of file SharedMutexTest.cpp.
References EXPECT_TRUE, i, and folly::lock().
| void runManyReadLocksTestWithTokens | ( | ) |
Definition at line 154 of file SharedMutexTest.cpp.
References EXPECT_TRUE, i, folly::lock(), and tokens.
|
static |
Definition at line 618 of file SharedMutexTest.cpp.
References BENCHMARK_SUSPEND, folly::doNotOptimizeAway(), folly::test::DeterministicSchedule::join(), Locker::lock(), folly::lock(), Locker::lock_shared(), folly::pushmi::detail::t, folly::test::DeterministicSchedule::thread(), threads, Locker::unlock(), Locker::unlock_shared(), and folly::fibers::yield().
|
static |
Definition at line 1302 of file SharedMutexTest.cpp.
References BENCHMARK_SUSPEND, burn(), folly::gen::first, i, folly::test::DeterministicSchedule::join(), folly::ssl::detail::locks(), folly::test::DeterministicSchedule::thread(), threads, and folly::fibers::yield().
| class Atom static void runRemoteUnlock | ( | size_t | numOps, |
| double | preWriteFraction, | ||
| double | preUpgradeFraction, | ||
| size_t | numSendingThreads, | ||
| size_t | numReceivingThreads | ||
| ) |
Definition at line 1149 of file SharedMutexTest.cpp.
References Atom, BENCHMARK_SUSPEND, folly::test::DeterministicSchedule::join(), folly::gen::move, folly::none, folly::pushmi::detail::t, folly::test::DeterministicSchedule::thread(), threads, and folly::fibers::yield().
| void runTimeoutInPastTest | ( | ) |
Definition at line 202 of file SharedMutexTest.cpp.
References EXPECT_TRUE, folly::lock(), and now().
|
static |
Definition at line 708 of file SharedMutexTest.cpp.
|
static |
Definition at line 1365 of file SharedMutexTest.cpp.
|
static |
Definition at line 594 of file SharedMutexTest.cpp.
|
static |
Definition at line 699 of file SharedMutexTest.cpp.
|
static |
Definition at line 588 of file SharedMutexTest.cpp.
|
static |
Definition at line 690 of file SharedMutexTest.cpp.
|
static |
Definition at line 1361 of file SharedMutexTest.cpp.
|
static |
Definition at line 582 of file SharedMutexTest.cpp.
|
static |
Definition at line 681 of file SharedMutexTest.cpp.
|
static |
Definition at line 576 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| basic | |||
| ) |
Definition at line 79 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| basic_holders | |||
| ) |
Definition at line 147 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| many_read_locks_with_tokens | |||
| ) |
Definition at line 169 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| many_read_locks_without_tokens | |||
| ) |
Definition at line 192 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| timeout_in_past | |||
| ) |
Definition at line 225 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| failing_try_timeout | |||
| ) |
Definition at line 312 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| basic_upgrade_tests | |||
| ) |
Definition at line 349 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| read_has_prio | |||
| ) |
Definition at line 355 of file SharedMutexTest.cpp.
References EXPECT_FALSE, EXPECT_TRUE, folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock(), folly::lock(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock_shared(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::try_lock_shared(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::try_lock_upgrade(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock_shared(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock_upgrade(), and folly::fibers::yield().
| TEST | ( | SharedMutex | , |
| write_has_prio | |||
| ) |
Definition at line 384 of file SharedMutexTest.cpp.
References folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock(), folly::lock(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::lock_shared(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::try_lock_shared(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock(), folly::SharedMutexImpl< ReaderPriority, Tag_, Atom, BlockImmediately, AnnotateForThreadSanitizer >::unlock_shared(), and folly::fibers::yield().
| TEST | ( | SharedMutex | , |
| deterministic_concurrent_readers_of_one_lock_read_prio | |||
| ) |
Definition at line 974 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_concurrent_readers_of_one_lock_write_prio | |||
| ) |
Definition at line 982 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| concurrent_readers_of_one_lock_read_prio | |||
| ) |
Definition at line 990 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| concurrent_readers_of_one_lock_write_prio | |||
| ) |
Definition at line 997 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| deterministic_readers_of_concurrent_locks_read_prio | |||
| ) |
Definition at line 1004 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_readers_of_concurrent_locks_write_prio | |||
| ) |
Definition at line 1012 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| readers_of_concurrent_locks_read_prio | |||
| ) |
Definition at line 1020 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| readers_of_concurrent_locks_write_prio | |||
| ) |
Definition at line 1027 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| deterministic_mixed_mostly_read_read_prio | |||
| ) |
Definition at line 1034 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_mixed_mostly_read_write_prio | |||
| ) |
Definition at line 1042 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| mixed_mostly_read_read_prio | |||
| ) |
Definition at line 1050 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| mixed_mostly_read_write_prio | |||
| ) |
Definition at line 1057 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| deterministic_mixed_mostly_write_read_prio | |||
| ) |
Definition at line 1064 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_mixed_mostly_write_write_prio | |||
| ) |
Definition at line 1072 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_lost_wakeup_write_prio | |||
| ) |
Definition at line 1080 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniformSubset().
| TEST | ( | SharedMutex | , |
| mixed_mostly_write_read_prio | |||
| ) |
Definition at line 1097 of file SharedMutexTest.cpp.
References adjustReps(), and folly::kIsSanitizeAddress.
| TEST | ( | SharedMutex | , |
| mixed_mostly_write_write_prio | |||
| ) |
Definition at line 1104 of file SharedMutexTest.cpp.
References adjustReps(), and folly::kIsSanitizeAddress.
| TEST | ( | SharedMutex | , |
| deterministic_all_ops_read_prio | |||
| ) |
Definition at line 1111 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_all_ops_write_prio | |||
| ) |
Definition at line 1118 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, SKIP_IF, and folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| all_ops_read_prio | |||
| ) |
Definition at line 1127 of file SharedMutexTest.cpp.
| TEST | ( | SharedMutex | , |
| all_ops_write_prio | |||
| ) |
Definition at line 1133 of file SharedMutexTest.cpp.
References Atom, FOLLY_ASSUME_FBVECTOR_COMPATIBLE(), folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| deterministic_remote_write_prio | |||
| ) |
Definition at line 1256 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, SKIP_IF, and folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_remote_read_prio | |||
| ) |
Definition at line 1267 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| remote_write_prio | |||
| ) |
Definition at line 1275 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| remote_read_prio | |||
| ) |
Definition at line 1284 of file SharedMutexTest.cpp.
References folly::kIsSanitizeAddress, folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| deterministic_ping_pong_write_prio | |||
| ) |
Definition at line 1381 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, SKIP_IF, and folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| deterministic_ping_pong_read_prio | |||
| ) |
Definition at line 1391 of file SharedMutexTest.cpp.
References folly::test::DeterministicSchedule::uniform().
| TEST | ( | SharedMutex | , |
| ping_pong_write_prio | |||
| ) |
Definition at line 1398 of file SharedMutexTest.cpp.
References folly::kIsSanitizeThread, and SKIP_IF.
| TEST | ( | SharedMutex | , |
| ping_pong_read_prio | |||
| ) |
Definition at line 1407 of file SharedMutexTest.cpp.
| burn0 |
Definition at line 1760 of file SharedMutexTest.cpp.
| burn100k |
Definition at line 1767 of file SharedMutexTest.cpp.
| burn1M |
Definition at line 1781 of file SharedMutexTest.cpp.
| burn300k |
Definition at line 1774 of file SharedMutexTest.cpp.
| true true true true true true true folly_rwspin |
Definition at line 1697 of file SharedMutexTest.cpp.
| false false folly_ticket |
Definition at line 1516 of file SharedMutexTest.cpp.
| folly_ticket_ping_pong |
Definition at line 1762 of file SharedMutexTest.cpp.
| false false folly_ticket_reads |
Definition at line 1448 of file SharedMutexTest.cpp.
| false false false pthrd_rwlock |
Definition at line 1518 of file SharedMutexTest.cpp.
| pthrd_rwlock_ping_pong |
Definition at line 1764 of file SharedMutexTest.cpp.
| false false false pthrd_rwlock_reads |
Definition at line 1450 of file SharedMutexTest.cpp.
| true true true true true true true true shmtx_rd_pri |
Definition at line 1630 of file SharedMutexTest.cpp.
| false shmtx_rd_pri_reads |
Definition at line 1446 of file SharedMutexTest.cpp.
| shmtx_w_bare_ping_pong |
Definition at line 1760 of file SharedMutexTest.cpp.
| true true true true true true shmtx_wr_pri |
Definition at line 1514 of file SharedMutexTest.cpp.
| shmtx_wr_pri_reads |
Definition at line 1444 of file SharedMutexTest.cpp.