aboutsummaryrefslogtreecommitdiff
path: root/tests/bench/rss/measure.py
blob: b4ad889d2f8718da7f8839f20eb08ef28f6b3e3f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
import sys,subprocess,resource,os
repo=sys.argv[1]
for b in ['zy','zyi','zym']:
    row=[b]
    for n in [0,10,100]:
        pid=os.fork()
        if pid==0:
            fd=os.open(os.path.dirname(os.path.abspath(__file__))+f'/a{n}.zc',os.O_RDONLY); os.dup2(fd,0)
            nul=os.open('/dev/null',os.O_WRONLY); os.dup2(nul,1)
            os.chdir(repo); os.execv(f'{repo}/build/bin/{b}',[b])
        _,st,ru=os.wait4(pid,0)
        row.append(f'{ru.ru_maxrss/1024:.1f}' + ('' if st==0 else f'(st{st})'))
    print(' '.join(row))