On Feb 23, 9:51 am, Caleb <caleb.epst...@gmail.com> wrote: > On Feb 6, 5:56 pm, Joshua Haberman <jhaber...@gmail.com> wrote: > > Does proto2 support event-based decoding? That is, is there a parsing > > mode that calls user-specified callbacks when it encounters values/ > > submessages/etc. rather than automatically putting all the data into > > an in-memory data structure? If so, is this supported for both > > generated classes and .proto files that are loaded at runtime? > > > Also, does it support streaming decoding? That is, can you parse a > > partial protobuf (which may or may not end on a record boundary), then > > parse more data as more becomes available? > > > I ask because I'm working on a minimalist C implementation that > > specifically targets these use cases. I'm just curious if proto2 > > supports these use cases too. > > > I'm planning to finally release my implementation soon. It's not > > ready yet, but for anyone who wants to check it out, see: > > >http://github.com/haberman/pbstream > > Neat stuff. It would be very interesting to benchmark this against > generated Protocol Buffers deserialization code, which does use some > neat tricks (I love the fast-path code using gotos) but may suffer > performace-wise when you start processing nested messages and optional > fields that all end up on the heap.
Right, I fully suspect that my implementation will win if you're just parsing and not saving the data to another data structure. And as far as the fast-path goto code, I'm starting to suspect that the performance gap here may not be as big as one might think. > Have you implemented the parser interface yet? These functions > pbstream_init_parser and pbstream_parse are missing from the github > code. Yeah, there's a lot missing and it doesn't work yet. But I'm working on it feverishly and hoping to release it sometime soon. Josh --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---