import psutil, os, gc, platform, sys


class Node(object):
    
    def __init__(self, node):
        self.node = node


def link(n):
    node = None
    for _ in range(n):
        node = Node(node)
    return node


mempct = lambda : '%i MB' % (psutil.Process(os.getpid()).memory_info()[0] / 1024 / 1024)


if __name__ == '__main__':
    
    print sys.version
    print platform.system(), platform.release(), platform.dist()
    print ''

    print 'initial', mempct()
    
    n = int(1e7)

    for i in range(3):
        
        print 
            
        node = link(n)
    
        print i, mempct()
    
        del node
        gc.collect()
    
        print i, mempct()

