benchmark.py (776B)
1 #!/usr/bin/env python3 2 3 """ 4 Helper script to enable benchmarking an agent implementation. 5 --- 6 Usage: ./scripts/benchmark.py <agent1> <agent2> 7 """ 8 9 import pwd 10 import re 11 import subprocess 12 import sys 13 14 TOURNAMENT_UIDS = [str(ent.pw_uid) for ent in pwd.getpwall() if re.match('rcg-agent-[0-9]+$', ent.pw_name)] 15 if not TOURNAMENT_UIDS: 16 raise Exception('No rcg agent runners found. Please run install.sh first.') 17 18 if __name__ == '__main__': 19 if len(sys.argv) < 3: 20 print(f'Usage: {sys.argv[0]} <agent1> <agent2>') 21 exit(1) 22 23 agent1, agent2 = sys.argv[1], sys.argv[2] 24 25 server_cmd = [ 26 'bin/server', 27 '-a', agent1, '-A', TOURNAMENT_UIDS[0], 28 '-b', agent2, '-B', TOURNAMENT_UIDS[1], 29 '-v', 30 ] 31 32 subprocess.run(server_cmd) 33