So, a 62.5 million edge LightGraphs.Graph should only take about a 1.25 
gigs of memory, all-in. However, because the edges are being added to 
vectors within the datastructure, and each vector is doing its own memory 
allocation, we wind up with the Julia process taking ~6.5 gigs.

Given that we don't know the degree distribution of the graph before we 
load it (and therefore can't use sizehint! effectively), is there any way 
to reclaim the allocated-but-unused memory from all these vectors, with the 
accepted large performance hit that would come should we decide to add 
another edge?

Reply via email to