- speed 'champ': protobuf
- namespacing: protobuf (beefcake doesn't support it 'out of the box')
- rubyness: beefcake by a nose
- performance isn't everything, though I was surprised how much protobuf seemed to be ahead. These are very basic benchmarks, and your milage may, and probably will (!), vary. I noticed without strings protobuf was about 1/2 faster, but when including strings, that dropped to about 1/3 faster.
- I like namespacing. If I'm going to go through the 'hassle' of putting a schema and DSL onto my wire definitions, then namespacing is more than a nice-to-have. Beefcake has a way to add it during build-time via the shell ENV, but protobuf wins a bit by just getting 'er done.