blob: 7b03101fea854c5a7574dc7dfb566ad8933f188b (
plain) (
blame)
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
|