On Jan 4, 2011, at 20:25 , Igor Gatis wrote:
A while ago, a colleague had a "memory leak" reusing a PB message which contained a repeated field. If I'm not mistaken the problem was that pb_message::Clear() calls vector<something>::clear() and string::clear() which does not really release the memory allocated. I can't really tell for sure actually.

@Kenton, does that make any sense? If yes, is there a way to avoid it?

Yes, I have run into this same issue, when I occasionally read in a "huge" message. I think this is "by design." As Kenton noted: if you re-use the message, it never has to free / reallocate memory. See the "Optimization Tips" in this document:

http://code.google.com/apis/protocolbuffers/docs/cpptutorial.html

There is a ::SpaceUsed() method that can be helpful.

Evan

--
Evan Jones
http://evanjones.ca/

--
You received this message because you are subscribed to the Google Groups "Protocol 
Buffers" group.
To post to this group, send email to proto...@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.

Reply via email to