@@ -0,0 +1,1545 @@
+#!/usr/bin/env python3%0A%0Aimport sys%0Aimport os%0Aimport argparse%0Aimport json%0A%0Adef read_stat_file(path):%0A    with open(path, 'r') as f:%0A        json_data = f.read()%0A        parsed = json.loads(json_data)%0A        return parsed%0A%0Adef main():%0A    parser = argparse.ArgumentParser(description = 'Converts a sweep file to CSV.')%0A    parser.add_argument('--stat',%0A                        help = 'Stat files',%0A                        type = str)%0A    parser.add_argument('--output',%0A                        help = 'Output path',%0A                        type = str)%0A    parser.add_argument('--subtract-blit-overhead',%0A                        help = 'Subtract the time for blitting results (equivalent to %22none%22 method)',%0A                        action = 'store_true')%0A%0A    args = parser.parse_args()%0A    if args.stat is None:%0A        sys.exit(1)%0A%0A    stats = read_stat_file(args.stat)%0A%0A    delta = 0.0%0A    if args.subtract_blit_overhead:%0A        for run in stats%5B'runs'%5D:%0A            if run%5B'method'%5D == 'none':%0A                delta = -run%5B'avg'%5D%0A                break%0A%0A    lines = %5B','.join(%5B'Method', 'Average time ' + stats%5B'runs'%5D%5B0%5D%5B'gpu'%5D%5D) + '%5Cn'%5D%0A    for run in stats%5B'runs'%5D:%0A        method = run%5B'method'%5D%0A        line = %5Bmethod, max(run%5B'avg'%5D + delta, 0.0)%5D%0A        line = %5Bstr(x) for x in line%5D%0A        lines.append(','.join(line) + '%5Cn')%0A%0A    if args.output is not None:%0A        with open(args.output, 'w') as f:%0A            f.writelines(lines)%0A    else:%0A        for line in lines:%0A            print(line)%0A%0Aif __name__ == '__main__':%0A    main()%0A

Add a script to convert AA bench runs to CSV.