rcg

rcg.git
git clone git://git.lenczewski.org/rcg.git
Log | Files | Refs | README | LICENSE

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