allan_variance_ros
allan_variance_ros copied to clipboard
Add cookbag implementation in C++
This pull request introduces a C++ version of cookbag.py
that can be run with
$ rosrun allan_variance_ros cookbag _input_bag:=/path/to/input.bag _output_bag:=/path/to/output.bag
It is more limited than the Python version as it only re-orders messages of the type sensor_msgs/Imu
but it is around 70x faster than the corresponding Python implementation.
I just tested it with a 40GB bag just containing a single sensor_msgs/Imu
topic and the Python version took 5 minutes loading the entire bag into memory and then processed the data at less than 100MB/s. The C++ version on the other hand processed the 40GB of data in under 10 minutes never taking up more than 20GB of memory.