Does NLopt use the FastAnonymous package to create function closures? On Wed, Jan 21, 2015 at 4:58 PM Robert Feldt <robert.fe...@gmail.com> wrote:
> I am running optimizations using different algorithms within the NLopt.jl > package. Memory slowly builds until the julia process is killed. I thought > the problem might be that the NLopt opt objects leaks some memory so I > tried the following code after each optimization run (there is a big loop > running multiple optimization runs after each other) to release the > NLopt::Opt object saved in my nlopt in "slot" named "opt" object: > > # Overwrite the opt object to try to give back its memory. There seems > to be mem leaks > # when we have long-running opt runs: > NLopt.destroy(nlopt.opt) # Not sure what is the effect of this but we > try... > nlopt.opt = nothing > gc() > > but memory keeps building. I guess it could be in my (large and very > complex and thus hard to distill down to an example) code used in the > fitness function that NLopt calls out to but this is normal Julia code and > should be garbage collected. I realize it is hard to debug without more > concrete code but if anyone has ideas on why the Julia process might slowly > but continuously be increasing its mem use (I'm running on a MacBoock Pro > with Yosemite) I'd appreciate any tips/pointers or how to debug further. > > Each NLopt run is on the order of 15 minutes with around 2000 function > evaluations. > > Regards, > > Robert Feldt > >