Skip to content

Commit ae04b8f

Browse files
committed
Add more decsriptions for bisect-benchmark
1 parent dfb28be commit ae04b8f

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

bisect-benchmark.ini

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
# Usage:
44
# - Create a temporary branch based on master (or the bad commit)
55
# - Fill in this configuration file, commit the changes and push it
6-
# TODO job name
7-
# - Execute the $name job for the commit. When you click the "create PR" link,
8-
# you can run jobs in commits UI. You need to wait a bit for the job
9-
# enumerator to populate the job list. You don't need to actually create the
10-
# PR.
11-
# - Wat for the jobs to finish. TODO
6+
# - Execute the bisect-benchmark job for the commit. When you click the "create
7+
# PR" link, you can run jobs in commits UI (Actions). You need to wait a bit
8+
# for the job enumerator to populate the job list. You don't need to actually
9+
# create any PR.
10+
# - Wait for the jobs to finish. You should get an email when it's done
1211

1312
# The command to build particular configuration. You can copy paste this from
1413
# the benchmark job log. Don't worry about sforceimports, the script takes care
@@ -21,11 +20,16 @@ build_command = mx --dy /compiler build
2120
# benchmark at a time
2221
benchmark_command = mx --dy /compiler benchmark micro:try-except-simple
2322

24-
# The first known "bad" merge commit for bisection
23+
# The first known "bad" merge commit for bisection. Try to use long commit
24+
# SHAs, the CI cache has higher probability of short SHAs being ambiguous
2525
bad = 1234deadbeef
2626

2727
# The last known "good" merge commit for bisection
2828
good = 1234cafebabe
2929

3030
# Whether to checkout graal-enterprise
3131
enterprise = true
32+
33+
# Which result parameter should be used for comparisons, one of BEST, WORST,
34+
# AVG (all runs), AVG (no warmup)
35+
benchmark_criterion = BEST

mx.graalpython/mx_graalpython_bisect.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,14 @@ def bisect_benchmark(argv):
150150
args.enterprise = sec.getboolean('enterprise', False)
151151
else:
152152
parser = argparse.ArgumentParser()
153-
parser.add_mutually_exclusive_group()
154-
parser.add_argument('bad')
155-
parser.add_argument('good')
156-
parser.add_argument('build_command')
157-
parser.add_argument('benchmark_command')
158-
parser.add_argument('--benchmark-criterion', default='BEST')
159-
parser.add_argument('--enterprise', action='store_true')
153+
parser.add_argument('bad', help="Bad commit for bisection")
154+
parser.add_argument('good', help="Good commit for bisection")
155+
parser.add_argument('build_command', help="Command to run in order to build the configuration")
156+
parser.add_argument('benchmark_command',
157+
help="Command to run in order to run the benchmark. Output needs to be in mx's format")
158+
parser.add_argument('--benchmark-criterion', default='BEST',
159+
help="Which result parameter should be used for comparisons")
160+
parser.add_argument('--enterprise', action='store_true', help="Whether to checkout graal-enterprise")
160161
args = parser.parse_args(argv)
161162

162163
primary_suite = mx.primary_suite()

0 commit comments

Comments
 (0)