Well, not technically a leak because the memory eventually does get deleted 
on exit, but for my every call to ParseFromArray() I'm seeing a few hundred 
small allocations which stick around until exit, These add up when I need 
to call ParseFromArray() >100k times and cause quite a memory surge during 
runtime. I think the vast majority of protobuf users would never notice 
this problem.

google::protobuf::ShutdownProtobufLibrary() does not help. 

Is this a known problem? Is there a way to fully cleanup all temporary 
memory allocs during runtime? Am I possibly doing something wrong in my 
implementation?

debug code:

_CrtMemCheckpoint(&s1);
_CrtMemDumpAllObjectsSince(&s1); // no objects, correct

bool res = outp.ParseFromArray(outbuf, sz);

_CrtMemDumpAllObjectsSince(&s1); // hundreds of small (mainly under 100 
byte) objects that survive the destruction of outp.

TIA -Rob

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