Hello, I've been experimenting with protocol buffers on appengine, using 2.3.0. I am trying to basically find the fastest way to serialize a dictionary, and would like to see if protobuf can improve on performance I'm seeing with other methods (pickle - ick, simplejson - better, repr - best so far).
I did a search around on the group and saw this thread from 2008: http://groups.google.com/group/protobuf/browse_thread/thread/d7fb950ea0ffe076/dae9a45544b9570c?lnk=gst&q=python+dictionary#dae9a45544b9570c The last post included what appeared to be suggested code for implementing a python dictionary style data structure with protobuf: message Foo { optional string name = 1; optional int32 some_field = 2; ... } message Bar { repeated Foo foo = 1 [experimental_map_key = "name"]; } I tried this out in the hopes it might just work as is, but perhaps predictably enough I run into problems - if I try to use string keys, it complains (at runtime) that "list indices must be integers". I kind of need my keys to be strings (otherwise I wouldn't really need a dict...), but out of curiousity I switched to integers and tried again, this time getting the error "list index out of range". It throws this for any integer index I use. I guess there might have been a hint in 'experimental' ... :) But is there anything more I should try before giving up on this? Is there an alternative way to approach this? My requirements are that a message 'instance' needs to accommodate an unknown number of key-value pairs with unknown keys...maybe there's another way to do this? Thanks for any help, it'd be greatly appreciated. -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@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.