Re: Optimizing memory
- To: mathgroup at smc.vnet.net
- Subject: [mg64883] Re: [mg64839] Optimizing memory
- From: "Christopher Arthur" <pannoniara at aol.com>
- Date: Mon, 6 Mar 2006 05:01:48 -0500 (EST)
- References: <200603050818.DAA09741@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
There is a function called "Share" for which the intention seems to be garbage collection, but I have had mixed results using it. Otherwise, you can call Names["symbol*"] to get a list of all the defined symbols that start with "symbol". This will tell you what you want since local variables are identified uniquely from one instance to another by a suffixed module number; e.g. if your variable is called "myVariable", then when the module runs it will get a name like "myVariable$2341" where 2341 identifies the unique instance. If you call Names after your modules execute and you still see a lot of dollar signs and numbers, then you may have a problem. ----- Original Message ----- From: "Sensei" <senseiwa at mac.com> To: mathgroup at smc.vnet.net Subject: [mg64883] [mg64839] Optimizing memory > Hi! > > I wrote a parser for PDB files that calculates atom and residue > inertia matrices, and I am sure I have written the worst code ever :) > I'm new to Mathematica, so I don't think I know how to optimize my > code. One particular concern is this. > > Using Module[] and defining many local symbols, is the memory > associated to them deallocated when the call exits? Or is it possible > to force memory deallocation? > > myParser[filename_]:=Module[ > { (* many symbols *) }, > symbol1 = ...; > symbol2 = ...; > (* very BIG memory allocation *) > ... > ] > > > Thanks for any information! > > -- > Sensei <senseiwa at mac.com> > > The optimist thinks this is the best of all possible worlds. > The pessimist fears it is true. [J. Robert Oppenheimer] > > >
- References:
- Optimizing memory
- From: Sensei <senseiwa@mac.com>
- Optimizing memory