5 #include <gtest/gtest.h>
16 TEST(DispatcherTest, testFilteredDispatcher)
21 std::vector<can::CommInterface::FrameListenerConstSharedPtr> listeners;
22 const size_t max_id = (1<<11);
23 for(
size_t i=0; i < max_id; i+=2) {
28 boost::chrono::steady_clock::time_point start = boost::chrono::steady_clock::now();
29 const size_t num = 1000 * max_id;
30 for(
size_t i=0; i < num; ++i) {
33 boost::chrono::steady_clock::time_point now = boost::chrono::steady_clock::now();
34 double diff = boost::chrono::duration_cast<boost::chrono::duration<double> >(now-start).count();
38 std::cout << std::fixed << diff <<
"\t" << num <<
"\t" << num / diff << std::endl;
42 TEST(DispatcherTest, testSimpleDispatcher)
48 boost::chrono::steady_clock::time_point start = boost::chrono::steady_clock::now();
49 const size_t max_id = (1<<11);
50 const size_t num = 1000*max_id;
51 for(
size_t i=0; i < num; ++i) {
54 boost::chrono::steady_clock::time_point now = boost::chrono::steady_clock::now();
55 double diff = boost::chrono::duration_cast<boost::chrono::duration<double> >(now-start).count();
58 std::cout << std::fixed << diff <<
"\t" << num <<
"\t" << num / diff << std::endl;
61 TEST(DispatcherTest, testDelegateOnly)
66 boost::chrono::steady_clock::time_point start = boost::chrono::steady_clock::now();
67 const size_t max_id = (1<<11);
68 const size_t num = 10000*max_id;
69 for(
size_t i=0; i < num; ++i) {
72 boost::chrono::steady_clock::time_point now = boost::chrono::steady_clock::now();
73 double diff = boost::chrono::duration_cast<boost::chrono::duration<double> >(now-start).count();
76 std::cout << std::fixed << diff <<
"\t" << num <<
"\t" << num / diff << std::endl;
81 int main(
int argc,
char **argv){
82 testing::InitGoogleTest(&argc, argv);
83 return RUN_ALL_TESTS();