Format Exploration » History » Version 5

« Previous - Version 5/12 (diff) - Next » - Current version
J. Moringen, 06/20/2011 06:52 PM
extended comparison


Format Exploration

Currently, we use the Google Protocol Buffer library and its message definition format for serializing objects at the framework level. The user may use it for its own datatypes, but is not forced to do so by RSB. However, several alternatives exist which we may additionally evaluate. Afterwards, we could promote (at least internally) the use of one of the alternatives or stick to protobuf.

Serialization Formats and Libraries

Informal Comparison

An informal comparison...

Structure and Description

Aspect Google Protocol Buffers LCM MessagePack
Fixed set of fundamental types yes ? ?
Nesting yes ? ?
Arrays/Sequences yes ? ?
- Homogeneous yes ? ?
- Inhomogeneous no ? ?
Textual IDL yes, C/Java-like ? ?
Binary IDL yes, uses Protocol Buffers ? ?
Self-describing messages yes, optional not visible in documentation ?

Serialization

Aspect Google Protocol Buffers LCM MessagePack
Random Access without Deserialization no ? ?
Field Access without Deserialization yes (by skipping) ? ?

Non-Functional

Aspect Google Protocol Buffers LCM MessagePack
Programming Languages Java, C++, Python, others community C, Java, Python, .NET, Matlab ?
Extension without recompile yes no by design? ?
Speed (Runtime rel. to PBs) 1 ? .25 (claimed)