pickle currently puts tuples into the memo on pickling, but only ever uses the position field ([0]), never the object itself ([1]). I understand that the reference to the object is needed to keep it alive while pickling. Unfortunately, this means one needs to allocate 36 bytes for the tuple. I think this memory consumption could be reduced by saving the objects in a list, and only saving the position in the memo dictionary. That would save roughly 32 bytes per memoized object, assuming there is no malloc overhead. What do you think? Regards, Martin P.S. It would be even more efficient if there was an identity dictionary.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4