Instructions for performance_test real-time benchmark

Introduction

Setup

Build performance_test following the official instructions:

  • https://gitlab.com/ApexAI/performance_test#building-the-performance_test-tool

Clone configuration files repository in the home directory:

git clone https://github.com/ros-realtime/performance_test_rt_cfg.git

Run the benchmarks

# It takes around 4 minutes
ros2 run performance_report runner \
  --log-dir perf_logs \
  --test-name experiments \
  --configs ~/performance_test_rt_cfg/runner/run_rt_experiment_single.yaml

# It takes around 24 minutes
ros2 run performance_report runner \
  --log-dir perf_logs \
  --test-name experiments \
  --configs ~/performance_test_rt_cfg/runner/run_rt_experiment_batch.yaml

Generate the plots

ros2 run performance_report plotter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/plotter/plot_experiment_single.yaml

ros2 run performance_report plotter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/plotter/plot_experiment_batch_prio90.yaml
ros2 run performance_report plotter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/plotter/plot_experiment_batch_prio0.yaml

Generate the reports

ros2 run performance_report reporter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/reporter/report_experiment_single.yaml

ros2 run performance_report reporter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/reporter/report_experiment_batch_prio90.yaml

ros2 run performance_report reporter \
  --log-dir perf_logs \
  --configs ~/performance_test_rt_cfg/reporter/report_experiment_batch_prio0.yaml