Skip to content

Add comprehensive benchmarks for MCAP library#110

Draft
siliconlad wants to merge 1 commit intomainfrom
claude/add-mcap-benchmarks-01WsbaC91oq8UjN1TGE15UhX
Draft

Add comprehensive benchmarks for MCAP library#110
siliconlad wants to merge 1 commit intomainfrom
claude/add-mcap-benchmarks-01WsbaC91oq8UjN1TGE15UhX

Conversation

@siliconlad
Copy link
Owner

This commit adds a comprehensive benchmark suite comparing pybag against rosbags and official mcap-ros2 libraries across multiple dimensions:

Serialization benchmarks:

  • Odometry, IMU, LaserScan, PointCloud2, String message types
  • Mixed message type serialization performance

Deserialization benchmarks:

  • All message types above with pybag, rosbags, and mcap-ros2
  • Measures decoding performance from CDR format

Read benchmarks (extended):

  • Small MCAP (10 messages) for startup overhead analysis
  • Multi-topic MCAPs with 6 different message types
  • Multi-topic with images/point clouds (7 topics with large data)
  • Extended duration (10 second) multi-topic scenarios

Write benchmarks (extended):

  • Small (10 messages), standard (1000), and large (10000) message counts
  • Multi-topic writing with interleaved timestamps

HuggingFace dataset integration:

  • Download utility for real-world MCAP files from DapengFeng/MCAP
  • Benchmarks against diverse, production ROS2 bag files

Multi-topic MCAP generation utilities:

  • Generators for Odometry, IMU, LaserScan, PointCloud2, Image, etc.
  • Configurable topic frequencies and recording duration

This commit adds a comprehensive benchmark suite comparing pybag against
rosbags and official mcap-ros2 libraries across multiple dimensions:

Serialization benchmarks:
- Odometry, IMU, LaserScan, PointCloud2, String message types
- Mixed message type serialization performance

Deserialization benchmarks:
- All message types above with pybag, rosbags, and mcap-ros2
- Measures decoding performance from CDR format

Read benchmarks (extended):
- Small MCAP (10 messages) for startup overhead analysis
- Multi-topic MCAPs with 6 different message types
- Multi-topic with images/point clouds (7 topics with large data)
- Extended duration (10 second) multi-topic scenarios

Write benchmarks (extended):
- Small (10 messages), standard (1000), and large (10000) message counts
- Multi-topic writing with interleaved timestamps

HuggingFace dataset integration:
- Download utility for real-world MCAP files from DapengFeng/MCAP
- Benchmarks against diverse, production ROS2 bag files

Multi-topic MCAP generation utilities:
- Generators for Odometry, IMU, LaserScan, PointCloud2, Image, etc.
- Configurable topic frequencies and recording duration
@siliconlad siliconlad self-assigned this Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants