Re: IDL memory question [message #12733 is a reply to message #12732] |
Mon, 07 September 1998 00:00   |
David Kastrup
Messages: 33 Registered: February 1998
|
Member |
|
|
Eugenio Sansosti <sansosti@irece1.irece.na.cnr.it> writes:
> Suppose I define a very big array, for instance a=fltarr(8000,8000).
> When I finish using it, I can make memory free by assigning to it a
> scalar value (for example a=0.), as also suggested in the IDL
> documentation.
>
> 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.
>
> Does any of you have a solution for that? Is it an IDL configuration
> problem or is there any IDL command I can use?
I would guess that IDL basically uses the malloc/free heap system from
the underlying system-library/operating system. If it does, this
would mean that, for example, on a standard Linux system (which
allocates larger chunks of memory in a very specific way), the memory
could be immediately reclaimed by other applications. Other systems
where glibc is being used would show the same behaviour, but I would
not guess that IDL would be compiled using glibc on other systems.
Most standard Unix (and MSDOS) libraries don't ever give back memory
allocated by malloc to the system, and some do this only in very
specific circumstances unlikely to occur in a complex system like IDL.
--
David Kastrup Phone: +49-234-700-5570
Email: dak@neuroinformatik.ruhr-uni-bochum.de Fax: +49-234-709-4209
Institut f�r Neuroinformatik, Universit�tsstr. 150, 44780 Bochum, Germany
|
|
|