Re: IDL memory question [message #12810 is a reply to message #12735] |
Wed, 09 September 1998 00:00   |
Mark Hadfield
Messages: 783 Registered: May 1995
|
Senior Member |
|
|
David Kastrup wrote in message ...
>
> Alex Schuster <alex@rosa.mpin-koeln.mpg.de> writes:
>>
>> Eugenio Sansosti wrote:
>>> Even if this operation make the required memory free for my IDL
>>> application, it does not make memory free for other applicstions
running
>>> onmy machine. That is, other machine users cannot use the memory I have
>>> allocated untill I exit IDL.
>>
>> Sorry, there is no way. It seems this is a general problem for any C
>> progam which uses malloc() and free() to access heap memory.
>>
>> The FAQ has an entry about this:
>> http://la.znet.com/~mgs/idl_faq.html#T27
>
> It's a general problem for any C program compiled with a stupid C
> library or working on a braindead system. If your system is not
> braindead and your C library is the GNU C library glibc, then large
> allocations will be done in a way that allow reclaiming space
> immediately by the operating system as soon as it gets released, even
> if the chain of allocations would leave holes in the available memory
> space.
For what it's worth, the win32 version does not have this problem. That is,
the Task Manager shows the memory usage increasing when a large array is
created and dropping straight back down when it is destroyed.
--
Mark Hadfield, m.hadfield@niwa.cri.nz http://www.niwa.cri.nz/~hadfield/
National Institute for Water and Atmospheric Research
PO Box 14-901, Wellington, New Zealand
|
|
|