1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
discard """
output: "MEM 0"
cmd: "nim c --gc:orc $file"
"""
type
Node = ref object
kids: seq[Node]
data: string
proc main(x: int) =
var n = Node(kids: @[], data: "3" & $x)
let m = n
n.kids.add m
type
NodeA = ref object
s: char
a: array[3, NodeA]
proc m: NodeA =
result = NodeA(s: 'a')
result.a[0] = result
result.a[1] = result
result.a[2] = result
proc mainA =
for i in 0..10:
discard m()
let mem = getOccupiedMem()
main(90)
mainA()
GC_fullCollect()
echo "MEM ", getOccupiedMem() - mem
|