ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

What is the best performing storage/serialization format for sequential writing/reading for ros2 bag?

asked 2022-01-04 19:18:32 -0500

ajayvohra2005 gravatar image

I am using sqlite3 storage format and cdr serialization format in ROS2. In my testing, I have observed that the serialization/deserialization performance of sequentially writing/reading messages for ROS2 bag files is significantly slower than ROS1.

Is there anything faster than sqlite3 and cdr that is currently available that would achieve the performance at par with ROS1?

Documentation here appears to suggest as if rosbag2_v2 is an alternative to sqlite3, but when I try the rosbag2_v2 value it does not work for me. Am I reading the documentation below correctly?

ros2 bag <record> | <play> | <info> -s <sqlite3> | <rosbag2_v2> | <custom_plugin>

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2022-01-22 15:26:04 -0500

osilva gravatar image

updated 2022-01-22 15:30:43 -0500

Other than sqlite3, the tooling team proposed leveldb.

Please see thread:

However based on most recent discussion, there is overall concerns with rosbag2

There is also a report from RobotecAI that reviews performance:

I suggest to read both threads, very interesting discussion and report.

edit flag offensive delete link more

answered 2022-01-22 10:58:01 -0500

ajayvohra2005 gravatar image

updated 2022-01-22 10:59:32 -0500

In my research, I have found sqlite3 (storage) and cdr (converter) as the only available open source ROS2 bag plugins.

edit flag offensive delete link more

Question Tools



Asked: 2022-01-04 19:18:32 -0500

Seen: 721 times

Last updated: Jan 22 '22