Writing programs (in a language like VB, not RBASE) that don't leak is not easy.
One has to test for leakage and make sure objects are properly disposed of.
I've written some bad programs but learned to check for this.

If you are using external programs or controls (which are just special kinds of 
programs) you take what you get.  If you find something that does not behave 
right, it is good to use something else, if you can, or have the author fix it.

Dennis McGrath




-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Lawrence Lustig
Sent: Tuesday, February 16, 2010 1:30 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Memory Usage out of hand

<<
As it's used, memory use will grow all day long, and no matter what is done, it 
will not clear till the app is closed.  You (and infact everyone) should see 
this behavior with other shared apps on a windows network, although you won't 
reach a 'tapped out' state for most, you will see the memory use will grow and 
grow as people use it but it will never go down no matter what
>>

This is not correct.  A well-written program will allocate and deallocate 
memory as needed, and you will see its memory usage go up and down as you use 
it.

To see this happening in R:Base, start R:Base and open the task manager.  Look 
at the memory R:Base is using.  Now, RBEDIT a really large text file (multiple 
megabytes).  You'll see R:Base's memory usage shoot up as it loads and 
processes the file.  When the file is fully loaded, R:Base will release some of 
the memory it used during the load process, but will still be using a good deal 
more memory than it was originally (naturally, because it has that large file 
open).  Now, close RBEDIT and you'll see R:Base's program usage drop back to 
approximately what it was when you started it.

R:Base is allocating and deallocating memory as needed.

Unfortunately, many programs do leak small amounts of memory so that, as their 
memory usage goes up and down during the course of a session, it's on a 
somewhat upwards trajectory.  When that happens in a process linked to your 
application (in this case, perhaps, the Internet Explorer browser control) then 
your application will appear to be the one using the memory and there isn't 
much you can do about it.
--
Larry


Reply via email to