Hi folks, I noticed that protobuf 3.4 includes the new 'table_driven_parsing' option for C++ code generation, but can't seem to find any docs about this feature.
>From a quick skim of the code, it seems like the goal here is to reduce the amount of per-PB generated code, and instead replace it with a generic method which can parse/serialize any protobuf based on a constant table indicating the field/type/class-offset mappings. My guess is the purpose here is to reduce code size and thus increase instruction cache locality for applications which handle either very large PBs or a large number of varying PB types, and potentially to unify the dynamic and generated parsing code paths. Is my understanding correct? Is there any speed benefit to using table-driven parsing for applications which deal with a relatively smaller set of unique PB types? Would be interested to hear about experiences at Google or elsewhere with this new option. -Todd -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
