Package symbol

performance_test_fixture package from performance_test_fixture repo

performance_test_fixture

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.0.9
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros2/performance_test_fixture.git
VCS Type git
VCS Version humble
Last Updated 2024-11-27
Dev Status MAINTAINED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Test fixture and CMake macro for using osrf_testing_tools_cpp with Google Benchmark

Additional Links

No additional links.

Maintainers

  • Alejandro Hernandez Cordero

Authors

  • Scott K Logan

performance_test_fixture

This repository contains the source code for the performance_test_fixture package.

performance_test_fixture provides:

  1. A Google Benchmark fixture that leverages memory tools from osrf_testing_tools_cpp to record memory allocation statistics
  2. A CMake macro for compiling, linking, and configuring benchmarking runs, as well as automatically skipping the tests on platforms where the osrf_testing_tools_cpp memory tools are not supported

Usage

The test fixture can be used just like any other Google Benchmark fixture:

#include <performance_test_fixture/performance_test_fixture.hpp>

using performance_test_fixture::PerformanceTest;

BENCHMARK_F(PerformanceTest, example_test)(benchmark::State & st)
{
  ...
}

The CMake macro can be used in the same way as the rest of the ament_cmake_test family of macros:

  find_package(performance_test_fixture REQUIRED)
  add_performance_test(example_test test/example_test.cpp)

Because it has a large impact on performance, trace messages coming from the memory tools in osrf_testing_tools_cpp are suppressed by default. To enable memory operation trace logging, set the environment variable PERFORMANCE_TEST_FIXTURE_ENABLE_TRACE=1.

CHANGELOG

Changelog for package performance_test_fixture

0.0.9 (2022-07-25)

  • Mirror rolling to main
  • Add "cstring" to the list of includes (#19)
  • Contributors: Audrow Nash, Chris Lalancette

0.0.8 (2022-01-14)

  • Fix include order for cpplint (#16)
  • Contributors: Jacob Perron

0.0.7 (2021-03-18)

  • Record calls to calloc, update tests (#15)
  • Contributors: Scott K Logan

0.0.6 (2020-11-19)

  • Make allocation counter atomic (#13) Even if the benchmark itself isn't threaded, the process we're testing could be. In any case, this should prevent those shenanigans from messing up the measurement.
  • Add methods for pausing/resuming performance metrics (#10)
    • Add methods for pausing/resuming performance metrics
  • Add benchmarks to evaluate overhead (#11)
    • Add benchmarks to evaluate overhead in performance tests
  • Add namespace performance_test_fixture to .cpp (#9)
  • Contributors: Scott K Logan, brawner

0.0.5 (2020-10-21)

  • Export dependency on benchmark and osrf_testing_tools_cpp (#8)
  • Update maintainers (#7)
  • Contributors: Alejandro Hernández Cordero, Scott K Logan

0.0.4 (2020-09-17)

  • Expose a function for resetting the heap counters (#6)
  • Stop recording memory operations sooner (#5)
  • Suppress memory tools warning if tests will be skipped (#4)
  • Contributors: Scott K Logan

0.0.3 (2020-09-02)

  • Export dependency on ament_cmake_google_benchmark (#3)
  • Contributors: Scott K Logan

0.0.2 (2020-07-23)

  • Add missing dependency on ament_cmake_google_benchmark (#2)
  • Contributors: Scott K Logan

0.0.1 (2020-07-23)

  • Initial 'performance_test_fixture' package (#1)
  • Initial commit
  • Contributors: Scott K Logan

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged performance_test_fixture at Robotics Stack Exchange