Freeing memory in Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg19498] Freeing memory in Mathematica
- From: bettina_hansen at writeme.com
- Date: Sat, 28 Aug 1999 15:53:19 -0400
- Organization: Deja.com - Share what you know. Learn what you don't.
- Sender: owner-wri-mathgroup at wolfram.com
Hallo everyone.
I was trying to make a Mathematica program which make some calculations
on several long (and very large) lists. However, after the calculation
of each list, the list is no longer needed. So I tried to delete it
using listname=. However it seems that this is not working in the sense
that it is still present in memory. Finally I found out how to free the
memory, see the following. Can anyone tell me how to do this more
'nice'? (i.e. without the use of the NoUse variable?)
The program is written in the file 'test.m'. The first program shows how
I want it to be, but as is seen this does not work.
Print[MemoryInUse[]]
list=Table[Sqrt[i],{i,1,20000}];
Print[MemoryInUse[]]
list=.
Print[MemoryInUse[]]
Gives, when 'executing' <<Test.m :
836032
1906640
1906640
I.e. the list is not deleted from memory. The second program, however,
works fine:
Print[MemoryInUse[]]
list=Table[Sqrt[i],{i,1,20000}]; NoUse=1;
Print[MemoryInUse[]]
list=.
Print[MemoryInUse[]]
Gives:
836032
1906744
836352
?????????????????????? Please help me here...... ;-)
Best regards
Bettina
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.