From 1f9faf8b702673b79bdf8f593707fe0f0241faf0 Mon Sep 17 00:00:00 2001 From: Bert Hubert Date: Sun, 29 Aug 2010 14:25:50 +0000 Subject: [PATCH] locking speed tests git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1701 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- pdns/speedtest.cc | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/pdns/speedtest.cc b/pdns/speedtest.cc index 20294569d..c9db17d6d 100644 --- a/pdns/speedtest.cc +++ b/pdns/speedtest.cc @@ -101,6 +101,38 @@ struct GetTimeTest } }; +pthread_mutex_t s_testlock=PTHREAD_MUTEX_INITIALIZER; + +struct GetLockUncontendedTest +{ + string getName() const + { + return "getlock-uncontended-test"; + } + + void operator()() const + { + pthread_mutex_lock(&s_testlock); + pthread_mutex_unlock(&s_testlock); + } +}; + + +struct StaticMemberTest +{ + string getName() const + { + return "static-member-test"; + } + + void operator()() const + { + static string* s_ptr; + if(!s_ptr) + s_ptr = new string(); + } +}; + struct MakeARecordTest { @@ -764,7 +796,10 @@ try doRun(VectorExpandTest()); doRun(GetTimeTest()); - + + doRun(GetLockUncontendedTest()); + doRun(StaticMemberTest()); + doRun(ARecordTest(1)); doRun(ARecordTest(2)); doRun(ARecordTest(4)); -- 2.49.0