Пример #1
0
if benchrunner:
    rustcc = rustc["--test"]
else:
    rustcc = rustc

rustcc = rustcc["-Z", "time-passes", "-O", "-o", binname, crate]
rustc_output = measure_cmd(rustcc)

data = {}

data["crate"] = crate
data["rustc"] = rcd = dict(rustc_output.__dict__)
rcd["sha"] = sha
rcd["cli"] = str(rustcc)
rcd["elapsed"] = rcd["elapsed"] - overhead
rcd["memory_data"] = process_stat(rcd["memory_data"])
rcd["cpuacct"] = dict(rcd["cpuacct"].__dict__)
rcd["pass_timing"] = pt = []

# extract pass timing
for line in rustc_output.stdout.split("\n")[:-1]:
    cols = line.split(" ")
    name = line.split("\t")[-1]
    pt.append((name, float(cols[1])))

prcd = local["./" + str(binname)]

if benchrunner:
    prcd = prcd["--bench"]

program_output = measure_cmd(prcd)
Пример #2
0
from plumbum.cmd import rustc, sleep, sudo, cgcreate

from benchlib import measure_cmd, process_stat


def avg(l):
    return sum(l) / len(l)

cmd = sys.argv[1:]

user = os.environ['USER']

filename = os.getenv('MEMBENCH_LOGFILE', 'membench.log')
try:
    os.remove(filename)
except:
    pass

logging.basicConfig(level=logging.DEBUG, filename=filename)

cmd = local[cmd[0]][tuple(cmd[1:])]

outp = measure_cmd(cmd)

data = dict(outp.__dict__)
data["cli"] = str(cmd)
data["memory_data"] = process_stat(outp.memory_data)
data["cpuacct"] = dict(outp.cpuacct.__dict__)

sys.stdout.write(json.dumps(data) + "\n")