I have a proto that has one nested message (3 integer fields, 1 bool and 1 
bytes field) that is repeated, a few integer fields( around 10) and a 
couple of bools. The serialized size of the this proto is around 35 bytes 
and the deserialized size around 350 bytes. I tried to deserialize this 
proto using ParseFromString and use malloc counters to find the number of 
mallocs for this call. When I do not use arena for the underlying message 
for the deserialized entry, I see around 5 mallocs for any number of 
successive deserializations. But, when I use arena(with sufficient 
preallocated size so that it doesn't require any more blocks allocs) for 
the underlying message, I see that number of mallocs becomes variable and 
the average number of mallocs went up to 16. Is this an expected behavior? 
I wanted to know what could be a possible reason for this.


-- 
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