On Mon, Feb 23, 2009 at 7:26 PM, Tim timbla...@gmail.com wrote:
Hi Kenton. I was wondering if you had any update on implementing
packed repeated fields using wire format 2. I'm evaluating GPB for use
in an embedded device, and love it for its ability to generalize data
storage/serialization/introspection. But having a tag for each
repeated element is kind of a deal-breaker for us due to space
requirements. Especially since we're planning to use 4 byte tags
across the board in our system so that there's enough space for a
unique tag for each attribute in our system.
Curious, and Thanks,
Tim
It's implemented in SVN, and will be in the next release (2.0.4), whenever
that may be. Just stick [packed=true] on to any repeated scalar field:
repeated int32 foo = 1 [packed=true];
On Jul 8 2008, 10:13 am, Kenton Varda ken...@google.com wrote:
2008/7/8 hepaminondas hepaminon...@gmail.com:
Hi,
Pretty cool stuff!
Could be really useful for data flow in scientific applications.
Just wondering how I'd write a proto which would allow the encoding
of, for example, a Numpy array?
What's a Numpy array, exactly? Google search suggests it's a
multi-dimensional array?
Unfortunately this would have to be pretty ad-hoc at the moment. You do
something like:
message Row { repeated int32 element = 1; }
message Matrix { repeated Row row = 1; }
Ugly, I know. Another problem with this is that a 1-byte tag will be
emitted for every element, meaning it's somewhat inefficient.
Another option is to just pack all the data arbitrarily and store them in
a
bytes field, but that sort of defeats the purpose of protocol buffers.
I have plans to add a new packed encoding for repeated fields, which
would
allow there to be a single tag for an entire repeated field, but it's not
there yet, and it still doesn't provide good multi-dimensional support.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Protocol Buffers group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to
protobuf+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/protobuf?hl=en
-~--~~~~--~~--~--~---