2020#include " performance_test_fixture/performance_test_fixture.hpp"
2121
2222#include " rclcpp/rclcpp.hpp"
23+ #include " rclcpp/executors/cbg_executor.hpp"
2324#include " rcpputils/scope_exit.hpp"
2425#include " test_msgs/msg/empty.hpp"
2526
@@ -145,6 +146,12 @@ BENCHMARK_F(PerformanceTestExecutor, multi_thread_executor_spin_some)(benchmark:
145146 executor_spin_some<rclcpp::executors::MultiThreadedExecutor>(st);
146147}
147148
149+ BENCHMARK_F (PerformanceTestExecutor, cbg_executor_spin_some)(benchmark::State & st)
150+ {
151+ executor_spin_some<rclcpp::executors::CBGExecutor>(st);
152+ }
153+
154+
148155BENCHMARK_F (PerformanceTestExecutor, single_thread_executor_wait_for_work)(benchmark::State & st)
149156{
150157 benchmark_wait_for_work<rclcpp::executors::SingleThreadedExecutor>(st);
@@ -155,6 +162,11 @@ BENCHMARK_F(PerformanceTestExecutor, multi_thread_executor_wait_for_work)(benchm
155162 benchmark_wait_for_work<rclcpp::executors::MultiThreadedExecutor>(st);
156163}
157164
165+ BENCHMARK_F (PerformanceTestExecutor, cbg_executor_wait_for_work)(benchmark::State & st)
166+ {
167+ benchmark_wait_for_work<rclcpp::executors::CBGExecutor>(st);
168+ }
169+
158170class CascadedPerformanceTestExecutor : public PerformanceTest
159171{
160172public:
@@ -238,11 +250,16 @@ BENCHMARK_F(CascadedPerformanceTestExecutor, multi_thread_executor_spin_some)(be
238250 executor_spin_some<rclcpp::executors::MultiThreadedExecutor>(st);
239251}
240252
253+ BENCHMARK_F (CascadedPerformanceTestExecutor, cbg_executor_spin_some)(benchmark::State & st)
254+ {
255+ executor_spin_some<rclcpp::executors::CBGExecutor>(st);
256+ }
241257
242258
243259class PerformanceTestExecutorMultipleCallbackGroups : public PerformanceTest
244260{
245261public:
262+ // static constexpr unsigned int kNumberOfNodes = 20;
246263
247264 void SetUp (benchmark::State & st)
248265 {
@@ -336,6 +353,12 @@ BENCHMARK_F(
336353{
337354 executor_spin_some<rclcpp::executors::MultiThreadedExecutor>(st);
338355}
356+
357+ BENCHMARK_F (
358+ PerformanceTestExecutorMultipleCallbackGroups,
359+ cbg_executor_spin_some)(benchmark::State & st)
360+ {
361+ executor_spin_some<rclcpp::executors::CBGExecutor>(st);
339362}
340363
341364class PerformanceTestExecutorSimple : public PerformanceTest
@@ -465,6 +488,16 @@ BENCHMARK_F(PerformanceTestExecutorSimple, multi_thread_executor_remove_node)(be
465488 remove_node<rclcpp::executors::MultiThreadedExecutor>(st);
466489}
467490
491+ BENCHMARK_F (PerformanceTestExecutorSimple, cbg_executor_add_node)(benchmark::State & st)
492+ {
493+ add_node<rclcpp::executors::CBGExecutor>(st);
494+ }
495+
496+ BENCHMARK_F (PerformanceTestExecutorSimple, cbg_executor_remove_node)(benchmark::State & st)
497+ {
498+ remove_node<rclcpp::executors::CBGExecutor>(st);
499+ }
500+
468501BENCHMARK_F (
469502 PerformanceTestExecutorSimple,
470503 static_single_thread_executor_add_node)(benchmark::State & st)
@@ -493,6 +526,13 @@ BENCHMARK_F(
493526 spin_node_until_future_complete<rclcpp::executors::MultiThreadedExecutor>(st);
494527}
495528
529+ BENCHMARK_F (
530+ PerformanceTestExecutorSimple,
531+ cbg_executor_spin_node_until_future_complete)(benchmark::State & st)
532+ {
533+ spin_node_until_future_complete<rclcpp::executors::CBGExecutor>(st);
534+ }
535+
496536BENCHMARK_F (
497537 PerformanceTestExecutorSimple,
498538 static_single_thread_executor_spin_node_until_future_complete)(benchmark::State & st)
0 commit comments