Home > Community > Forums > Custom IC SKILL > Destroying structures

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Destroying structures 

Last post Fri, Nov 29 2013 3:34 AM by Atul Dwivedi. 2 replies.
Started by Atul Dwivedi 28 Nov 2013 10:06 PM. Topic has 2 replies and 671 views
Page 1 of 1 (3 items)
Sort Posts:
  • Thu, Nov 28 2013 10:06 PM

    Destroying structures Reply

    Hi there,

    I came across defstrct and was amazed at the capability it gives. I make many structures and store them in a list and do some sorting etc. ex:

    struct1=make_myStrcut(..)

    struct2=make_myStrcut(..)

    myStructList=('struct1 'struct2..)

    In logic everything is working fine and as expected. However, I need to do this task many times, and everytime I am making new structures and storing this in this list, without destroying the previous instances.

    myStructList=('newStruct1 'newStruct2..) 

    This clogs up the memory (RAM + swap) in the server as the previous 'struct1s are not 'destroyed'. Is there a simple function to clean up these structures.

    Note: The no. of structures are many (with considerable data).

    I had a quick look in the forum and manual, but could not come up with anything close.

    Any help would be appreciated.

    Thanks and Regards,

    Atul 

    Filed under:
    • Post Points: 20
  • Thu, Nov 28 2013 11:01 PM

    Re: Destroying structures Reply

    Atul,

    SKILL uses garbage collection to manage memory. The way that this works is that if a data structure is no longer referenced, it is available to be garbage collected. For each type, SKILL maintains a pool of free objects, and as a program requests more it will allocate them from this free pool. When that pool is empty, a garbage collection is triggered and it will reclaim any unreferenced objects and add these to the free pool. If nothing is spare after garbage collection it will allocate more memory.

    In your case, setting myStructList to nil or removing the entries from the list that you no longer require would have the effect of making the Structure instances garbage (assuming that they are not referenced elsewhere).

    Regards,

    Andrew 

    • Post Points: 20
  • Fri, Nov 29 2013 3:34 AM

    Re: Destroying structures Reply

    Thanks Andrew, for the reply,

    If that is the case, then I need not worry.

    Regards,

    Atul 

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by Atul Dwivedi at 28 Nov 2013 10:06 PM. Topic has 2 replies.