def METHOD_NAME(outbase, bench_cpu=True, runs=12, fasttable=False):
  tmpfile = "/tmp/bench-output.json"
  Run("rm -rf {}".format(tmpfile))
  #Run("CC=clang bazel test ...")
  if fasttable:
    extra_args = " --//:fasttable_enabled=true"
  else:
    extra_args = ""
  if bench_cpu:
    Run("CC=clang bazel build -c opt --copt=-march=native benchmarks:benchmark" + extra_args)
    Run("./bazel-bin/benchmarks/benchmark --benchmark_out_format=json --benchmark_out={} --benchmark_repetitions={} --benchmark_min_time=0.05 --benchmark_enable_random_interleaving=true".format(tmpfile, runs))
    with open(tmpfile) as f:
      bench_json = json.load(f)
    # Translate into the format expected by benchstat.
    txt_filename = outbase + ".txt"
    with open(txt_filename, "w") as f:
      for run in bench_json["benchmarks"]:
        if run["run_type"] == "aggregate":
          continue
        name = run["name"]
        name = name.replace(" ", "")
        name = re.sub(r'^BM_', 'Benchmark', name)
        values = (name, run["iterations"], run["cpu_time"])
        print("{} {} {} ns/op".format(*values), file=f)
    Run("sort {} -o {} ".format(txt_filename, txt_filename))
  Run("CC=clang bazel build -c opt --copt=-g --copt=-march=native :conformance_upb"
      + extra_args)
  Run("cp -f bazel-bin/conformance_upb {}.bin".format(outbase))