BIND 10 trac2874, updated. 080d32fe9f01fef3e864f8c33465eb20516f0856 [2874] Run the coroutine resolver in benchmark

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jul 18 06:53:18 UTC 2013


The branch, trac2874 has been updated
       via  080d32fe9f01fef3e864f8c33465eb20516f0856 (commit)
      from  02bfdb8969601a8d3009b4e5fffb45edc67324cb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 080d32fe9f01fef3e864f8c33465eb20516f0856
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Thu Jul 18 08:53:04 2013 +0200

    [2874] Run the coroutine resolver in benchmark

-----------------------------------------------------------------------

Summary of changes:
 src/bin/resolver/bench/Makefile.am |    7 ++++---
 src/bin/resolver/bench/main.cc     |   17 ++++++++++++++++-
 2 files changed, 20 insertions(+), 4 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/resolver/bench/Makefile.am b/src/bin/resolver/bench/Makefile.am
index c2183cb..ece73a3 100644
--- a/src/bin/resolver/bench/Makefile.am
+++ b/src/bin/resolver/bench/Makefile.am
@@ -18,12 +18,13 @@ resolver_bench_SOURCES = main.cc
 resolver_bench_SOURCES += fake_resolution.h fake_resolution.cc
 resolver_bench_SOURCES += dummy_work.h dummy_work.cc
 resolver_bench_SOURCES += naive_resolver.h naive_resolver.cc
-if BOOST_COROUTINES
-resolver_bench_SOURCES += coroutine_resolver.h coroutine_resolver.cc
-endif
 
 resolver_bench_LDADD = $(top_builddir)/src/lib/exceptions/libb10-exceptions.la
 resolver_bench_LDADD += $(top_builddir)/src/lib/asiolink/libb10-asiolink.la
+
 if BOOST_COROUTINES
+# The coroutine resolver needs the boost coroutines. Enable it only if available.
+resolver_bench_SOURCES += coroutine_resolver.h coroutine_resolver.cc
 resolver_bench_LDADD += -lboost_context
+AM_CPPFLAGS += -DBOOST_COROUTINES
 endif
diff --git a/src/bin/resolver/bench/main.cc b/src/bin/resolver/bench/main.cc
index 3007c40..9a7effe 100644
--- a/src/bin/resolver/bench/main.cc
+++ b/src/bin/resolver/bench/main.cc
@@ -12,15 +12,30 @@
 // OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 // PERFORMANCE OF THIS SOFTWARE.
 
+#ifdef BOOST_COROUTINES
+#include <resolver/bench/coroutine_resolver.h>
+#endif
 #include <resolver/bench/naive_resolver.h>
 
 #include <bench/benchmark.h>
 
+#include <iostream>
+
+using namespace std;
+
 const size_t count = 1000; // TODO: We may want to read this from argv.
 
 int main(int, const char**) {
+#ifdef BOOST_COROUTINES
+    for (size_t i = 1; i < 10; ++i) {
+        cout << "Coroutine resolver with " << i << " threads" << endl;
+        isc::resolver::bench::CoroutineResolver coroutine_resolver(::count, i);
+        isc::bench::BenchMark<isc::resolver::bench::CoroutineResolver>
+            (1, coroutine_resolver, true);
+    }
+#endif
     // Run the naive implementation
-    isc::resolver::bench::NaiveResolver naive_resolver(count);
+    isc::resolver::bench::NaiveResolver naive_resolver(::count);
     isc::bench::BenchMark<isc::resolver::bench::NaiveResolver>
         (1, naive_resolver, true);
     return 0;



More information about the bind10-changes mailing list