Simple program leaking memory - why?
- To: mathgroup at smc.vnet.net
- Subject: [mg130732] Simple program leaking memory - why?
- From: gredner at gmail.com
- Date: Tue, 7 May 2013 03:55:08 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
Hi folks, I'm fighting an issue in which a simple Mathematica program to export a bunch of plots is leaking a huge amount of memory - enough to exhaust the 12G available on my machine. The problem is, it looks like the program should run in bounded memory! A simplified version of my code which demonstrates the problem follows: ==================== n = 10000; (* just some bogus data *) makeData[_] := Table[{{x, y} = RandomReal[{-3, 3}, {2}], {y, -x}}, {200}]; data = Array[makeData, n]; ParallelMap[ Export[ "movie-" <> IntegerString[#, 10, 4] <> ".png", ListVectorPlot[data[[#]]]] &, Range[1, n]]; ==================== The problem occurs whether the loop is Map or Do, Parallel- or not. It occurs in Mathematica 8 and 9, both under Linux. The amount of memory leaked per frame is considerable - approximately .6 MB in my tests. I don't see where it could be going, unless Export is caching every byte which passes through it! I've also asked this question on stackexchange [1] but so far nobody has a clue. Thanks, -Gabe [1] http://mathematica.stackexchange.com/questions/24461/why-does-this-simple-program-leak-memory