MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / execute

Function execute

tools/provenance-eval/multi_session.py:230–245  ·  view source on GitHub ↗
(args, binaries, configs, result, roots)

Source from the content-addressed store, hash-verified

228
229
230def execute(args, binaries, configs, result, roots):
231 for repetition in range(args.repetitions):
232 modes = list(binaries)
233 modes = modes[repetition % len(modes):] + modes[:repetition % len(modes)]
234 for scenario in args.scenarios.split(","):
235 config = {**configs[scenario], "events": args.events, "turns": args.turns, "serialize_stop": args.serialize_stop}
236 for workers in map(int, args.workers.split(",")):
237 for mode in modes:
238 row = measure(pathlib.Path(binaries[mode]).resolve(), workers, config, roots[mode])
239 row.update(mode=mode, scenario=scenario, repetition=repetition)
240 result["runs"].append(row)
241 result["summary"] = summarize(result["runs"])
242 pathlib.Path(args.output).write_text(json.dumps(result, indent=2) + "\n")
243 print(json.dumps({"mode": mode, "scenario": scenario, "workers": workers, "rep": repetition,
244 "wall_s": row["wall_s"], "verified": len(row.get("verified", [])),
245 "errors": len(row["verification_errors"])}), flush=True)
246
247
248if __name__ == "__main__":

Callers 1

mainFunction · 0.85

Calls 6

measureFunction · 0.85
updateMethod · 0.80
summarizeFunction · 0.70
getMethod · 0.65
resolveMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected