From 67e3d403f80367b3fb648b84bd87070675045815 Mon Sep 17 00:00:00 2001 From: Geert Bosch Date: Fri, 19 Feb 2016 17:43:22 -0500 Subject: SERVER-20524: Add new RESOURCE_MUTEX type for use as recursive readers/writers lock --- src/mongo/db/concurrency/lock_state_test.cpp | 66 ---------------------------- 1 file changed, 66 deletions(-) (limited to 'src/mongo/db/concurrency/lock_state_test.cpp') diff --git a/src/mongo/db/concurrency/lock_state_test.cpp b/src/mongo/db/concurrency/lock_state_test.cpp index beebcaf6abc..2a80c0b4a42 100644 --- a/src/mongo/db/concurrency/lock_state_test.cpp +++ b/src/mongo/db/concurrency/lock_state_test.cpp @@ -40,10 +40,6 @@ #include "mongo/util/timer.h" namespace mongo { -namespace { -const int NUM_PERF_ITERS = 1000 * 1000; // numeber of iterations to use for lock perf -} - TEST(LockerImpl, LockNoConflict) { const ResourceId resId(RESOURCE_COLLECTION, std::string("TestDB.collection")); @@ -300,66 +296,4 @@ TEST(LockerImpl, CanceledDeadlockUnblocks) { ASSERT(locker2.unlockGlobal()); ASSERT(locker3.unlockGlobal()); } - - -// These two tests exercise single-threaded performance of uncontended lock acquisition. It -// is not practical to run them on debug builds. -#ifndef MONGO_CONFIG_DEBUG_BUILD - -TEST(Locker, PerformanceBoostSharedMutex) { - for (int numLockers = 1; numLockers <= 64; numLockers = numLockers * 2) { - stdx::mutex mtx; - - // Do some warm-up loops - for (int i = 0; i < 1000; i++) { - mtx.lock(); - mtx.unlock(); - } - - // Measure the number of loops - // - Timer t; - - for (int i = 0; i < NUM_PERF_ITERS; i++) { - mtx.lock(); - mtx.unlock(); - } - - log() << numLockers << " locks took: " - << static_cast(t.micros()) * 1000.0 / static_cast(NUM_PERF_ITERS) - << " ns"; - } -} - -TEST(Locker, PerformanceLocker) { - for (int numLockers = 1; numLockers <= 64; numLockers = numLockers * 2) { - std::vector> lockers(numLockers); - for (int i = 0; i < numLockers; i++) { - lockers[i].reset(new LockerForTests(MODE_S)); - } - - DefaultLockerImpl locker; - - // Do some warm-up loops - for (int i = 0; i < 1000; i++) { - locker.lockGlobal(MODE_IS); - locker.unlockGlobal(); - } - - // Measure the number of loops - Timer t; - - for (int i = 0; i < NUM_PERF_ITERS; i++) { - locker.lockGlobal(MODE_IS); - locker.unlockGlobal(); - } - - log() << numLockers << " locks took: " - << static_cast(t.micros()) * 1000.0 / static_cast(NUM_PERF_ITERS) - << " ns"; - } -} - -#endif // MONGO_CONFIG_DEBUG_BUILD - } // namespace mongo -- cgit v1.2.1