blob: 8dc552294d7caadc5f7541234673c428b3983225 (
plain) (
tree)
|
|
discard """
output: "MEM 0"
cmd: "nim c --gc:orc $file"
"""
type
Node = ref object of RootObj
le, ri: Node
name: char
proc edge(a, b: Node) =
if a.le == nil: a.le = b
else: a.ri = b
proc createNode(name: char): Node =
new result
result.name = name
#[
+---------+ +------+
| | | |
| A +----->+ <------+-------------+
+--+------+ | | | |
| | | | C |
| | R | | |
+--v------+ | | +-------------+
| | | | ^
| B <------+ | |
| | | +--------+
+---------+ | |
+------+
]#
proc main =
let a = createNode('A')
let b = createNode('B')
let r = createNode('R')
let c = createNode('C')
a.edge b
a.edge r
r.edge b
r.edge c
c.edge r
let mem = getOccupiedMem()
main()
GC_fullCollect()
echo "MEM ", getOccupiedMem() - mem
|