pickle format memory leaks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
igraph |
Confirmed
|
Low
|
Tamás Nepusz |
Bug Description
the pickle format (or at least the reading) leaks memory - pickle_
I don't know if this is igraph's fault, or pickle's fault, but I also found that:
- pickle with a simpler data structure doesn't memory leak - pickle_
- igraph using (eg) write_graphml, doesn't memory leak either. - write_loop(
This is probably low priority, but I thought I'd report this bug anyway, since it's hopefully useful to people that need to un/serialise lots of graphs, that come up against this memory leak issue. If you don't need pickle's ability to eg. serialise almost any python object as an attribute in the graph, then graphml+zlib performs better than pickle (both in terms of speed, and size of serialised format), and doesn't memory leak either.
Some more details:
- the leak happens with smaller graphs as well (if they have at least a single edge)
- the leak does not happen if I create the graph with the same call that unpickling would have used. Since unpickling just calls the appropriate __init__ method, this is weird.
Will investigate further when time allows.