From cbf91493779ded18903531d67f802ae2693cf494 Mon Sep 17 00:00:00 2001 From: g0dil <g0dil@wiback.org> Date: Fri, 15 May 2009 13:22:01 +0000 Subject: [PATCH] PPI: Measure ActiveFeeder performance in unit test --- PPI/ActiveFeeder.test.cc | 11 +++++++---- PPI/Events.cc | 10 ++++++++++ PPI/Events.cci | 10 ---------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/PPI/ActiveFeeder.test.cc b/PPI/ActiveFeeder.test.cc index f54e426b8..8d9aa55e8 100644 --- a/PPI/ActiveFeeder.test.cc +++ b/PPI/ActiveFeeder.test.cc @@ -50,14 +50,17 @@ BOOST_AUTO_UNIT_TEST(activeFeeder) ppi::connect(source,feeder); ppi::connect(feeder,sink); - source.submit(senf::DataPacket::create()); - source.submit(senf::DataPacket::create()); - source.submit(senf::DataPacket::create()); + for (unsigned i (0); i < 500; ++i) + source.submit(senf::DataPacket::create()); + senf::ClockService::clock_type start (senf::ClockService::now()); ppi::run(); + std::cerr << "ActiveFeeder: " + << (500*1e9)/(senf::ClockService::now()-start) + << " packets/s" << std::endl; BOOST_CHECK_EQUAL( source.size(), 0u ); - BOOST_CHECK_EQUAL( sink.size(), 3u ); + BOOST_CHECK_EQUAL( sink.size(), 500u ); } ///////////////////////////////cc.e//////////////////////////////////////// diff --git a/PPI/Events.cc b/PPI/Events.cc index 9f8ec8057..eb89a50c6 100644 --- a/PPI/Events.cc +++ b/PPI/Events.cc @@ -47,6 +47,16 @@ prefix_ void senf::ppi::EventDescriptor::notifyUnthrottle() enabled(true); } +prefix_ void senf::ppi::EventDescriptor::enabled(bool v) +{ + SENF_ASSERT(v_isRegistered()); // Module::registerEvent() call missing !! + if (v && ! enabled_) + v_enable(); + else if (! v && enabled_) + v_disable(); + enabled_ = v; +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_ //#include "Events.mpp" diff --git a/PPI/Events.cci b/PPI/Events.cci index 7d113b330..1e50eb733 100644 --- a/PPI/Events.cci +++ b/PPI/Events.cci @@ -40,16 +40,6 @@ prefix_ bool senf::ppi::EventDescriptor::enabled() return enabled_; } -prefix_ void senf::ppi::EventDescriptor::enabled(bool v) -{ - SENF_ASSERT(v_isRegistered()); - if (v && ! enabled_) - v_enable(); - else if (! v && enabled_) - v_disable(); - enabled_ = v; -} - //////////////////////////////////////// // protected members -- GitLab