|  | 
| 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