igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Memory error


From: Tamas Nepusz
Subject: Re: [igraph] Memory error
Date: Mon, 22 Jun 2015 17:15:51 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

> Is there some type of limit on igraph as to how many vertices or edges you 
> can actually add?
There is no built-in limit. However, you could actually be hitting the built-in
memory limit of a 32-bit Python in a 64-bit environment. You mentioned that the
memory usage peaks around 1 GB in your case. 32-bit apps have an approximately
2 GB memory limit on Windows. The problem is that you probably reach a point in
the code where igraph needs more storage space for a numeric vector. The
default strategy for igraph in such cases is to re-allocate the vector with
twice its original length. So, suppose that you have a vector which occupies
0.5 GB. igraph tries to double its length, so it will temporarily need to
allocate 1 GB extra space, copy the old vector there, and then deallocate the
old vector. It is easy to see that this might cause your app to temporarily hit
the 2 GB memory limit. (The problem is further complicated by the fact that the
address space of the Python process might be fragmented, meaning that even
though it has enough memory available for the new vector, there isn't a single
_continuous_ chunk of memory where the new vector could be allocated, so in
that case you could also get a MemoryError).

Since you have a 64-bit machine, I strongly suggest to use a 64-bit Python
installation and a 64-bit version of igraph with it. You can get one from here:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-igraph

T.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]