Bug #3495
closed
Added by Michael Sweatt over 8 years ago.
Updated over 8 years ago.
Description
When building a large number of data packets,signing them, and getting the Names.
10M of Names uses 4G of memory.
We determined the cause being that the Names maintain references to their underlying Data, which can be reduced by calling wireEncode().
Discussed locally and determined intentional. Posting here for posterity sake.
Attached is a small code snippet that demonstrates the issue.
Files
I will repeat that this "effect" is intentional.
We may want to provide an explicit method(s) to compress memory usage. Right now, you can simply call Name::wireEncode()
which will make a separate memory allocation, releasing the previously referenced buffer.
Alex, we just filed the bug report, so that all of us are aware of this "property" in order to avoid unexpected side-effects in our applications (at least this is something that we were not aware of). Meaning no offense :-)
Feel free to make it a task or feature if you think that this would be more appropriate.
- Status changed from New to Abandoned
You may want to document it somewhere, but it is not a bug, nor it is a feature ("space blow up"). It is a side effect of the specific use case.
Also available in: Atom
PDF