comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: problem with builtin restore
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: problem with builtin restore [message #60137] Mon, 28 April 2008 08:52
Craig Markwardt is currently offline  Craig Markwardt
Messages: 1869
Registered: November 1996
Senior Member
Reimar Bauer <R.Bauer@fz-juelich.de> writes:

> Reimar Bauer schrieb:
>> Hi
>> we found a bug in restore of idl6.4 today. (linux version)
>> if you restore lots of files with always the same vars stored we
>> would
>> suppose that the memory allocation is always only done from the last
>> restore you did.
>> It looks like that you can overwrite the vars without reallocating
>> the
>> memory.
>> The cmrestore by CraigMarkwardt does it right.
>> cheers
>> Reimar Bauer
>
> hmm I'm currently not sure if craigs routine does allocate different.

Reimar, CMSAVE/CMRESTORE just use standard IDL variables, so the
allocation should be the same as IDL's standard
allocation/deallocation. This is not quite true if you use pointers
within your saved data, but this does not apply to your example.

Craig
Re: problem with builtin restore [message #60145 is a reply to message #60137] Mon, 28 April 2008 02:28 Go to previous message
R.Bauer is currently offline  R.Bauer
Messages: 1424
Registered: November 1998
Senior Member
Reimar Bauer schrieb:
> Hi
>
> we found a bug in restore of idl6.4 today. (linux version)
>
> if you restore lots of files with always the same vars stored we would
> suppose that the memory allocation is always only done from the last
> restore you did.
>
> It looks like that you can overwrite the vars without reallocating the
> memory.
>
> The cmrestore by CraigMarkwardt does it right.
>
> cheers
> Reimar Bauer

hmm I'm currently not sure if craigs routine does allocate different.


IDL> data1=make_array(100,306,21)
IDL> data2=make_array(100,306,21)
IDL> data3=make_array(100,306,21)
IDL> data4=make_array(100,306,21)
IDL> save,file='test.sav',data1,data2,data3,data4
IDL> save,file='test1.sav',data1,data2,data3,data4
IDL> save,file='test2.sav',data1,data2,data3,data4
IDL> .reset

IDL> help,/mem & restore,file='test.sav' & help,/mem
heap memory used: 827805, max: 11109933, gets: 2506, frees:
~ 1953
heap memory used: 11109981, max: 11114318, gets: 2511, frees:
~ 1954
IDL> help,/mem & restore,file='test.sav' & help,/mem
heap memory used: 11110070, max: 11110215, gets: 2519, frees:
~ 1961
heap memory used: 11110070, max: 13684951, gets: 2524, frees:
~ 1966

and change the input filename if you think there is no change in memory
by repeating the command

It happens on 7.0.1 too.

cheers
Reimar
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: IDL7.0 Workbench: configuring cursor focus
Next Topic: ROI outlining of 3D volumes (multi-slice 2D)

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 19:45:53 PDT 2025

Total time taken to generate the page: 0.00544 seconds