Part 1 of my blogging streak is here. So the point here is about choosing a good RPC and serialization framework for my build-my-own-ROS project. As I am still experimenting with a lot of frameworks and benchmarks, this post will be updated later.
Cap'n Proto
Very good overall especially the low overhead. However the size of the library is a little bit too large (~290K stripped and -gc-section
ed). Didn't test the overhead but a good post here shows that it virtually consume zero computing power. Still finding a way to squeeze it into a STM32, though.
After turning on the CAPNP_LITE
flag, the executable size reduced to ~160K stripped and -gc-section
ed. Still not ideal.
UPDATE: A summary table:
Executable size with default Release of Cap'n Proto:
Optimization | Unstripped | Stripped |
---|---|---|
-Os | 140K | 127K |
-O1 | 149K | 136K |
-O2 | 140K | 127K |
-O3 | 140K | 127K |