native-benchmark
Benchmark ANTLR4 grammars using the actual ANTLR4 Java runtime to get accurate parse times, throughput, and performance ratings for final testing and grammar comparison.
Instructions
Benchmark grammar using actual ANTLR4 Java runtime (most accurate).
When to use: Final performance testing, comparing grammars, production validation.
Requirements:
Java must be installed
ANTLR4 JAR must be available (auto-downloads to ~/.local/lib/)
Features:
Uses real ANTLR4 parser (100% accurate)
Low-overhead Java driver (avoids JVM startup per iteration)
Warmup iterations for JIT optimization
Supports multi-file grammars
Parameters:
grammar_files: Object mapping filename to content {"Expr.g4": "grammar Expr..."}
start_rule: Parser rule to start from
input: Sample input text
iterations: Timed iterations (default: 10)
warmup_iterations: Warmup runs (default: 3)
Example: grammar_files: {"Expr.g4": "grammar Expr; start: expr EOF; ..."} start_rule: "start" input: "1 + 2 * 3" iterations: 20
Returns:
Avg/min/max parse time
Throughput (chars/sec, tokens/sec)
Performance rating (excellent/good/fair/slow)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Input text to parse | |
| iterations | No | Number of timed iterations (default: 10) | |
| start_rule | Yes | Parser rule to start parsing from | |
| grammar_files | Yes | Map of filename to grammar content | |
| warmup_iterations | No | Warmup runs before timing (default: 3) |