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.

Reply via email to