devxlogo

Clear a Collection

Clear a Collection

The fastest way to clear a collection is just to set the variable to a new Collection object. However, if it’s necessary to free the references the collection is keeping, it’s faster to empty the Collection from the beginning than the end.
Here is the test I used:
* Create a new standard EXE Project
* Add three Command Buttontons to Form1* Insert the following lines of code into Form1

 Option ExplicitPrivate Declare Function GetTickCount Lib "kernel32" () As LongPrivate Function GetCollection(Count As Long) As CollectionDim Index As Long    Set GetCollection = New Collection    For Index = 1 To Count        GetCollection.Add Nothing    NextEnd FunctionPrivate Sub Command1_Click()Dim Col As CollectionDim TickCount As Long    Set Col = GetCollection(10000)    TickCount = GetTickCount()    Set Col = New Collection    MsgBox "TickCount: " & GetTickCount() - TickCountEnd SubPrivate Sub Command2_Click()Dim Col As CollectionDim TickCount As Long    Set Col = GetCollection(10000)    TickCount = GetTickCount()    Do While Col.Count        Col.Remove 1    Loop    MsgBox "TickCount: " & GetTickCount() - TickCountEnd SubPrivate Sub Command3_Click()Dim Col As CollectionDim TickCount As Long    Set Col = GetCollection(10000)    TickCount = GetTickCount()    Do While Col.Count        Col.Remove Col.Count    Loop    MsgBox "TickCount: " & GetTickCount() - TickCountEnd Sub

size=3>

devx-admin

Share the Post: