Skip to content

Latest commit

 

History

History
43 lines (38 loc) · 1.63 KB

README.md

File metadata and controls

43 lines (38 loc) · 1.63 KB

benchmark

Scripts for gathering and plotting benchmark data.

Test Procedure

  1. Set up the environment for rmw_iceoryx2 as per these instructions
  2. Clone performance_test
    git clone -b 2.3.0 [email protected]:ApexAI/performance_test.git ~/workspace/src/performance_test
  3. Patch performance_test to recognize rmw_iceoryx2_cxx as zero-copy-capable
    1. NOTE: This shall soon be merged upstream to performance_test for convenience
    cd ~/workspace/src/performance_test
    git apply ~/workspace/src/rmw_iceoryx2/benchmark/patch/recognize-rmw-iceoryx2-cxx-as-zero-copy.patch
  4. Build performance_test and rmw_iceoryx2_cxx
    cd ~/workspace/
    export RMW_IMPLEMENTATION=rmw_iceoryx2_cxx
    colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --build-base "build_perf_$RMW_IMPLEMENTATION" --install-base "install_perf_$RMW_IMPLEMENTATION" --packages-up-to "$RMW_IMPLEMENTATION" performance_test
  5. Install dependencies into python env
    cd ~/workspace/src/rmw_iceoryx2/benchmark/
    poetry install
  6. Collect data
    export RMW_IMPLEMENTATION=rmw_iceoryx2_cxx
    export ROS_DISABLE_LOANED_MESSAGES=0 # ensures loaning is enabled
    
    source ~/workspace/install_perf_$RMW_IMPLEMENTATION/setup.zsh
    cd ~/workspace/src/rmw_iceoryx2/benchmark
    poetry run python benchmark.py $RMW_IMPLEMENTATION ~/workspace/install_perf_$RMW_IMPLEMENTATION --zero-copy
  7. Generate plots
    cd ~/workspace/src/rmw_iceoryx2/benchmark
    poetry run python plot.py ./results