|
4 | 4 |
|
5 | 5 | parser = argparse.ArgumentParser()
|
6 | 6 | parser.add_argument('--branchcompare', action='store_true', help='Compare benchmarks of current branch with main. Provide an optional --filter')
|
7 |
| -parser.add_argument('--benchcompare', action='store_true', help='Compare across benchmarks. Requires --baseline and --contender') |
| 7 | +parser.add_argument('--benchcompare', type=str, help='Compare simd bench with stdsort methods. Requires one of qsort, qselect, partialsort, argsort or argselect') |
8 | 8 | parser.add_argument("-f", '--filter', type=str, required=False)
|
9 |
| -parser.add_argument("-b", '--baseline', type=str, required=False) |
10 |
| -parser.add_argument("-c", '--contender', type=str, required=False) |
11 | 9 | args = parser.parse_args()
|
12 | 10 |
|
13 | 11 | if len(sys.argv) == 1:
|
14 | 12 | parser.error("requires one of --benchcompare or --branchcompare")
|
15 | 13 |
|
| 14 | +filterb = "" |
| 15 | +if args.filter is not None: |
| 16 | + filterb = args.filter |
| 17 | + |
16 | 18 | if args.benchcompare:
|
17 |
| - if (args.baseline is None or args.contender is None): |
18 |
| - parser.error("--benchcompare requires --baseline and --contender") |
| 19 | + baseline = "" |
| 20 | + contender = "" |
| 21 | + if "qsort" in args.benchcompare: |
| 22 | + baseline = "stdsort.*" + filterb |
| 23 | + contender = "avx512qsort.*" + filterb |
| 24 | + elif "qselect" in args.benchcompare: |
| 25 | + baseline = "stdnthelement.*" + filterb |
| 26 | + contender = "avx512_qselect.*" + filterb |
| 27 | + elif "partial" in args.benchcompare: |
| 28 | + baseline = "stdpartialsort.*" + filterb |
| 29 | + contender = "avx512_partial_qsort.*" + filterb |
| 30 | + elif "argsort" in args.benchcompare: |
| 31 | + baseline = "stdargsort.*" + filterb |
| 32 | + contender = "avx512argsort.*" + filterb |
19 | 33 | else:
|
20 |
| - rc = subprocess.check_call("./scripts/bench-compare.sh '%s %s'" % (args.baseline, args.contender), shell=True) |
| 34 | + parser.print_help(sys.stderr) |
| 35 | + parser.error("ERROR: Unknown argument '%s'" % args.benchcompare) |
| 36 | + rc = subprocess.check_call("./scripts/bench-compare.sh '%s' '%s'" % (baseline, contender), shell=True) |
21 | 37 |
|
22 | 38 | if args.branchcompare:
|
23 | 39 | if args.filter is None:
|
|
0 commit comments