]> granicus.if.org Git - pdns/commitdiff
locking speed tests
authorBert Hubert <bert.hubert@netherlabs.nl>
Sun, 29 Aug 2010 14:25:50 +0000 (14:25 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Sun, 29 Aug 2010 14:25:50 +0000 (14:25 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1701 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/speedtest.cc

index 20294569d642d495d1bd9186cc4dd7fe74fafef1..c9db17d6d2807158771faffced63d1b04c7677dc 100644 (file)
@@ -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));