1import argparse 2import sys 3import textwrap 4 5import pandas as pd 6 7 8def check_perf_csv(filename, threshold): 9 """ 10 Basic performance checking. 11 """ 12 13 df = pd.read_csv(filename) 14 15 failed = [] 16 for _, row in df.iterrows(): 17 model_name = row["name"] 18 speedup = row["speedup"] 19 if speedup < threshold: 20 failed.append(model_name) 21 22 print(f"{model_name:34} {speedup}") 23 24 if failed: 25 print( 26 textwrap.dedent( 27 f""" 28 Error {len(failed)} models performance regressed 29 {' '.join(failed)} 30 """ 31 ) 32 ) 33 sys.exit(1) 34 35 36if __name__ == "__main__": 37 parser = argparse.ArgumentParser() 38 parser.add_argument("--file", "-f", type=str, help="csv file name") 39 parser.add_argument( 40 "--threshold", "-t", type=float, help="threshold speedup value to check against" 41 ) 42 args = parser.parse_args() 43 check_perf_csv(args.file, args.threshold) 44