2013年9月15日日曜日

Windows/メモリ負荷 わざと負荷をかける

Dim i

Dim iMAX
iMAX = 20000
'5000:空きメモリが50MB減る
'10000:空きメモリが100MB減る
'20000:空きメモリが200MB減る
For i = 1 To iMAX
    Call k
Next

MsgBox now & " メモリ " & iMAX & "バイト確保。
このメッセージボックスを閉じるとメモリは開放する。"

Sub k()
    Dim x
    Set x = CreateObject("Scripting.Dictionary")
    Dim y
    Set y = CreateObject("Scripting.Dictionary")
    Call x.Add("a", y)
    Call y.Add("b", x)
    ' Call x.RemoveAll()
    ' Call y.RemoveAll()
End Sub