Question How much memory does the MALZ program consume for a given number of conductor segments?
Answer The amount of RAM (in MB) used by the MALZ program is approximately given by 16 * (Nseg / 1000)^2 + 10, where Nseg is the number of conductor segments in the network. Note that the number of conductor segments is the number obtained AFTER conductor subdivision, which can be considerably larger than the initial number of conductors since MALZ automatically subdivides conductors wherever they intersect.
For 1000 conductor segments, this is about 25 MB. For 5000 conductors (the present limit of the program), this is about 400 MB. While Windows is capable of using virtual memory (i.e. disk space) to allocate this memory, it is highly recommended to make sure that most of this memory is real RAM. The reason is that one crucial part of the computation involves the inversion of a matrix of a size nearly equal to that calculated above. This inversion requires random access to all parts of this memory in very rapid succession. When virtual memory is used, the entire CPU time ends up being consumed in disk activities. The end result is that the computer appears to freeze: it can take several days to invert the matrix under those circumstances, even with a very fast CPU.