Main benchmark runner.
()
| 591 | |
| 592 | |
| 593 | def main(): |
| 594 | """Main benchmark runner.""" |
| 595 | parser = argparse.ArgumentParser(description="Code Tokenization Performance Benchmark") |
| 596 | parser.add_argument("--warmup", type=int, default=3, |
| 597 | help="Number of warmup runs (default: 3)") |
| 598 | parser.add_argument("--runs", type=int, default=25, |
| 599 | help="Number of benchmark runs (default: 25)") |
| 600 | parser.add_argument("--quick", action="store_true", |
| 601 | help="Run quick benchmark (fewer runs)") |
| 602 | parser.add_argument("--extensions", nargs="+", |
| 603 | help="File extensions to test (e.g., .py .cpp .js)") |
| 604 | parser.add_argument("--tokenizer", choices=["llama", "mistral"], default="llama", |
| 605 | help="Tokenizer configuration to use (default: llama)") |
| 606 | |
| 607 | args = parser.parse_args() |
| 608 | |
| 609 | if args.quick: |
| 610 | args.warmup = 2 |
| 611 | args.runs = 10 |
| 612 | |
| 613 | benchmark = CodePerformanceBenchmark( |
| 614 | warmup_runs=args.warmup, |
| 615 | benchmark_runs=args.runs, |
| 616 | tokenizer_type=args.tokenizer |
| 617 | ) |
| 618 | |
| 619 | success = benchmark.run_full_benchmark(args.extensions) |
| 620 | sys.exit(0 if success else 1) |
| 621 | |
| 622 | |
| 623 | if __name__ == "__main__": |
no test coverage detected