Main benchmark runner.
()
| 626 | |
| 627 | |
| 628 | def main(): |
| 629 | """Main benchmark runner.""" |
| 630 | import argparse |
| 631 | |
| 632 | parser = argparse.ArgumentParser(description="TokenDagger vs TikToken Performance Benchmark") |
| 633 | parser.add_argument("--warmup", type=int, default=5, help="Number of warmup runs") |
| 634 | parser.add_argument("--runs", type=int, default=100, help="Number of benchmark runs") |
| 635 | parser.add_argument("--quick", action="store_true", help="Run quick benchmark (fewer runs)") |
| 636 | parser.add_argument("--tokenizer", choices=["llama", "mistral"], default="llama", |
| 637 | help="Tokenizer configuration to use (default: llama)") |
| 638 | |
| 639 | args = parser.parse_args() |
| 640 | |
| 641 | if args.quick: |
| 642 | args.warmup = 2 |
| 643 | args.runs = 10 |
| 644 | |
| 645 | benchmark = PerformanceBenchmark( |
| 646 | warmup_runs=args.warmup, |
| 647 | benchmark_runs=args.runs, |
| 648 | tokenizer_type=args.tokenizer |
| 649 | ) |
| 650 | success = benchmark.run_full_benchmark() |
| 651 | |
| 652 | sys.exit(0 if success else 1) |
| 653 | |
| 654 | |
| 655 | if __name__ == "__main__": |
no test coverage detected