|Subject:||Re: [igraph] early bird question for igraph 0.3 on cygwin|
|Date:||Wed, 22 Nov 2006 15:43:28 -0500|
On Tue, Nov 21, 2006 at 10:37:51PM -0500, Vincent Matossian wrote:
> I can't compile the cpp files of igraph 0.3 . It works well if I remove them
> however so it's not a problem for me. I tried with mingw-g++-3.4.5 and
hmmm, basically the only reason that igraph 0.3 is not released is that it is
untested on windows. So thanks for the info. C++ code should be removed from
igraph in the long run anyway....
> Also regarding the memory management issue of the previous thread, I realize
> that malloc/free is system dependent, I am finding on my windows box that when
> neighborhood is called say on a random graph of 1000 nodes (p= 0.04), about
> 700MB is allocated but never released back to the system. Which means that when
> I run the function on my 2GB system, after two runs of the function I'm done.
> Is there any way to force release of that memory back to the system? (a
> somewhat similar issue was brought up on the R-help list but I frankly could
> not get a consensus off the responses)
Hmmm. 1000 nodes, p=0.04, that means that you'll have about 20000 edges in
the graph, and you create 1000 graphs by calling igraph_neighborhood(). Now
if order is 2 or 3 then almost the whole graph will be included, which
means about 640K per graph, so 625Mb altogether, yes the 700Mb is reasonable.
Quick tip: if you call igraph_vector_ptr_destroy it does NOT free the memory
allocated for the actual graph objects, you need to walk through the
igraph_ptr_vector_t and call igraph_destroy() on each graph. Do you do this?
(Again, some code which breaks would be great.)
Csardi Gabor < address@hidden> MTA RMKI, ELTE TTK
igraph-help mailing list
|[Prev in Thread]||Current Thread||[Next in Thread]|