On Jun 30, 2005, at 7:23 PM, Richard Gaskin wrote:
Dennis Brown wrote:
Hi all,
I have been using custom properties and custom properties sets to
store results from different data analysis. This requires me to
delete the properties of the last run before proceeding with the
next run. There are many many automatically generated properties
in the sets. I started to wonder what happens to the memory when
I delete a key. The properties can no longer be seen because the
key is gone, but what about the memory space. Does Rev garbage
collect the space to recover it? I am concerned that I will
create this huge legacy of garbage memory structures that will
continue to grow as my program is run and saved over many months.
Can anyone verify that the program memory space will be recovered?
Another way to ask that question would be to pose it as its
corollary: do we have evidence of memory leaks in Rev?
There may be, but it seems not too difficult to test: make a
project that adds and deletes large sets of custom props and
objects containing large amounts of data, check the memory usage
before it starts, let it run all night, and check it again in the
morning.
--
Richard Gaskin
Managing Editor, revJournal
_______________________________________________________
Rev tips, tutorials and more: http://www.revJournal.com
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
Richard,
I did just that. I made a button with the following quickly thrown
together script and ran it, stopping it every so often to save the
stack and check the size. The good news is that the rather large set
of properties and data (210MB) was created and deleted each pass
(only took a few seconds per pass) resulted in not even a single byte
change in stack size between passes. Thanks for the suggestion. Now
I can sleep tonight!
BTW: The technique below is how I finally figured out how to have
multi-dimensional arrays saved as properties that can be directly
addressed by variables without using the do command. Really no
difference between array[x,y] and array[x&"x"&y&"y"] or something
similar as far as keys go --a unique key is generated for each
element in either case.
Dennis
ON mouseUp
local k,key,stuff
set the textColor of me to "red"
REPEAT 1000 times
put "A nice line to repeat"&cr after stuff
END repeat
--
REPEAT forever
set the customPropertySet of me to "Data" --also creates the
set if it does not exist
put the customKeys of me into k --delete the old set of
preferences for "mySet"
get empty
REPEAT for each line key in k
IF key contains "mySet" THEN next repeat
put key&cr after it
END repeat
set the customKeys of me to it
set the customPropertySet of me to empty
IF the mouseClick THEN if the clickLoc is within the rect of
me THEN exit repeat
--generate a lot of keys with a lot of data
REPEAT with y=1 to 100 --Y values
REPEAT with x=1 to 100 --X values
-- save the whole Stats for each point in the result
matrix
set the Data["mySet"&x&"x"&y&"y"] of me to stuff
END repeat
END repeat
-- set the Data["Passes"] of me to 0
get the Data["Passes"] of me
add 1 to it
set the Data["Passes"] of me to it
put "Pass"&&it
END repeat
set the textColor of me to "black"
END mouseUp
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution