message: Add parallelism
diff: @@ -5,6 +5,7 @@ import re
  import csv
  import sys
  import os
  +from concurrent import futures
  ARGS_RE = r'ARGS: (.*)'
  TIMEOUT = 5
  @@ -65,16 +66,21 @@ def brench(config_path, file):
  with open(config_path) as f:
  config = tomlkit.loads(f.read())
  - # CSV for collected outputs.
  + with futures.ThreadPoolExecutor() as pool:
  + # Submit jobs.
  + futs = {}
  + for fn in file:
  + for name, run in config['runs'].items():
  + futs[(fn, name)] = pool.submit(run_bench, run['pipeline'], fn)
  +
  + # Collect results and print CSV.
  writer = csv.writer(sys.stdout)
  writer.writerow(['benchmark', 'run', 'result'])
  -
  for fn in file:
  first_out = None
  - for name, run in config['runs'].items():
  - # Actually run the benchmark.
  + for name in config['runs']:
  try:
  - stdout, stderr = run_bench(run['pipeline'], fn)
  + stdout, stderr = futs[(fn, name)].result()
  except subprocess.TimeoutExpired:
  stdout, stderr = '', ''
  status = 'timeout'
  