Benchmarks¶
Performance results for the Branchline interpreter and VM.
Latest release¶
Runtime and allocation (mean, p95)¶
| Runtime | Dataset | Mean (us/op) | p95 (us/op) | Alloc (B/op) | Params |
|---|---|---|---|---|---|
| Interpreter pathExpressions | Small | 0.526 | 0.512 | 784.233 | n/a |
| Interpreter pathExpressions | Medium | 0.549 | 0.531 | 784.24 | n/a |
| Interpreter pathExpressions | Large | 0.57 | 0.561 | 784.237 | n/a |
| Interpreter arrayComprehensions | Small | 1.264 | 1.152 | 1392.478 | n/a |
| Interpreter arrayComprehensions | Medium | 7.481 | 9.312 | 5114.681 | n/a |
| Interpreter arrayComprehensions | Large | 50.87 | 59.072 | 33491.654 | n/a |
| Interpreter typicalTransform | Small | 1.71 | 1.692 | 1088.564 | n/a |
| Interpreter typicalTransform | Medium | 14.42 | 14.592 | 4667.613 | n/a |
| Interpreter typicalTransform | Large | 70.724 | 78.848 | 20717.536 | n/a |
| VM pathExpressions | Small | 1.981 | 1.994 | 10688.731 | n/a |
| VM pathExpressions | Medium | 2.05 | 2.002 | 10688.759 | n/a |
| VM pathExpressions | Large | 2.069 | 2.014 | 10688.84 | n/a |
| VM arrayComprehensions | Small | 6.169 | 7.528 | 27786.289 | n/a |
| VM arrayComprehensions | Medium | 33.11 | 40.896 | 175505.068 | n/a |
| VM arrayComprehensions | Large | 239.491 | 249.856 | 1699919.781 | n/a |
| VM typicalTransform | Small | 9.111 | 9.424 | 25626.526 | n/a |
| VM typicalTransform | Medium | 82.682 | 90.496 | 217160.036 | n/a |
| VM typicalTransform | Large | 410.035 | 420.352 | 1068425.133 | n/a |
Interpreter vs VM ratio (mean)¶
| Benchmark | Dataset | Interpreter (us/op) | VM (us/op) | Ratio (VM/Interp) |
|---|---|---|---|---|
| pathExpressions | Small | 0.526 | 1.981 | 3.763x |
| pathExpressions | Medium | 0.549 | 2.05 | 3.732x |
| pathExpressions | Large | 0.57 | 2.069 | 3.626x |
| arrayComprehensions | Small | 1.264 | 6.169 | 4.879x |
| arrayComprehensions | Medium | 7.481 | 33.11 | 4.426x |
| arrayComprehensions | Large | 50.87 | 239.491 | 4.708x |
| typicalTransform | Small | 1.71 | 9.111 | 5.328x |
| typicalTransform | Medium | 14.42 | 82.682 | 5.734x |
| typicalTransform | Large | 70.724 | 410.035 | 5.798x |
Release history¶
Full archive: Release benchmark history.
What we measure¶
| Area | Interpreter benchmark | VM benchmark |
|---|---|---|
| Path expressions | InterpreterTransformBenchmark.pathExpressions |
VMTransformBenchmark.pathExpressions |
| Array comprehensions | InterpreterTransformBenchmark.arrayComprehensions |
VMTransformBenchmark.arrayComprehensions |
| Typical transform | InterpreterTransformBenchmark.typicalTransform |
VMTransformBenchmark.typicalTransform |
Datasets: Small (10x5), Medium (100x10), Large (500x25).
Run locally¶
Notes¶
- Compare runs on the same machine and JDK.
- Report deltas against the previous release.