| 83 | |
| 84 | |
| 85 | def parse_args(): |
| 86 | parser = argparse.ArgumentParser( |
| 87 | description="Generate Rust benchmark report from Criterion output" |
| 88 | ) |
| 89 | parser.add_argument( |
| 90 | "--log-file", |
| 91 | default="results/cargo_bench.log", |
| 92 | help="Criterion cargo bench log file", |
| 93 | ) |
| 94 | parser.add_argument( |
| 95 | "--size-file", |
| 96 | default="results/serialized_sizes.txt", |
| 97 | help="Serialized size table generated by fory_profiler", |
| 98 | ) |
| 99 | parser.add_argument( |
| 100 | "--output-dir", |
| 101 | default="results", |
| 102 | help="Output directory for report artifacts", |
| 103 | ) |
| 104 | parser.add_argument( |
| 105 | "--plot-prefix", |
| 106 | default="", |
| 107 | help="Image path prefix inside the markdown report", |
| 108 | ) |
| 109 | return parser.parse_args() |
| 110 | |
| 111 | |
| 112 | def datatype_title(datatype): |