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 protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to