Benchmarks
Benchmark data is generated using ecraven's r7rs-benchmarks.
Results were run on an AMD Ryzen 9 5900X 12-Core Processor running Ubuntu 25.10 (Linux 6.17.0-23-generic).
Lower runtime is better. The summary and table report how many times faster or slower Hawk is than Chez. The graph uses a log2 scale, so equal speedups and slowdowns are the same distance from parity. Results are sorted from faster to slower.
Last benchmark commit: b6a60ad (2026-08-26): New benchmark results
x64 Hawk Runtime Relative to Chez
57 matched benchmarks comparing Hawk and Chez. Geometric mean: Hawk is 1.75x faster.
| Benchmark | Hawk | Chez | Comparison |
|---|---|---|---|
| mbrot | 0.378254 | 4.046925 | 10.70x faster |
| sumfp | 0.357378 | 3.219803 | 9.01x faster |
| fft | 0.161559 | 1.304118 | 8.07x faster |
| string | 0.239687 | 1.328551 | 5.54x faster |
| ray | 0.327713 | 1.487438 | 4.54x faster |
| pnpoly | 0.712456 | 2.918927 | 4.10x faster |
| tail | 0.388465 | 1.333183 | 3.43x faster |
| fibfp | 0.533600 | 1.800802 | 3.37x faster |
| sum1 | 0.187851 | 0.615711 | 3.28x faster |
| triangl | 0.454182 | 1.292531 | 2.85x faster |
| array1 | 1.396709 | 3.931681 | 2.81x faster |
| pi | 0.101787 | 0.281964 | 2.77x faster |
| nucleic | 0.551868 | 1.427210 | 2.59x faster |
| cat | 0.479972 | 1.160442 | 2.42x faster |
| sum | 0.817938 | 1.518961 | 1.86x faster |
| simplex | 0.780190 | 1.447563 | 1.86x faster |
| chudnovsky | 0.076611 | 0.138710 | 1.81x faster |
| mperm | 3.459455 | 5.929766 | 1.71x faster |
| parsing | 1.160487 | 1.961932 | 1.69x faster |
| ntakl | 1.459741 | 2.455195 | 1.68x faster |
| takl | 1.454574 | 2.440385 | 1.68x faster |
| scheme | 1.217553 | 2.035323 | 1.67x faster |
| equal | 0.224640 | 0.359586 | 1.60x faster |
| lattice | 1.584768 | 2.532093 | 1.60x faster |
| slatex | 1.211856 | 1.876020 | 1.55x faster |
| quicksort | 1.657311 | 2.523144 | 1.52x faster |
| primes | 0.387414 | 0.589041 | 1.52x faster |
| nboyer | 0.927733 | 1.397597 | 1.51x faster |
| browse | 0.571525 | 0.860558 | 1.51x faster |
| maze | 0.351422 | 0.523544 | 1.49x faster |
| earley | 1.810369 | 2.677373 | 1.48x faster |
| puzzle | 1.030898 | 1.419580 | 1.38x faster |
| wc | 0.633293 | 0.851174 | 1.34x faster |
| deriv | 0.582814 | 0.778621 | 1.34x faster |
| sboyer | 0.496311 | 0.641553 | 1.29x faster |
| conform | 1.021659 | 1.313178 | 1.29x faster |
| nqueens | 2.499772 | 3.179932 | 1.27x faster |
| cpstak | 1.534375 | 1.948332 | 1.27x faster |
| fibc | 0.250548 | 0.315303 | 1.26x faster |
| paraffins | 2.851352 | 3.547522 | 1.24x faster |
| gcbench | 0.404679 | 0.493317 | 1.22x faster |
| graphs | 1.094438 | 1.323736 | 1.21x faster |
| fib | 2.065815 | 2.438716 | 1.18x faster |
| ack | 1.480430 | 1.700279 | 1.15x faster |
| peval | 1.167610 | 1.318405 | 1.13x faster |
| destruc | 1.045101 | 1.159944 | 1.11x faster |
| matrix | 0.742946 | 0.813305 | 1.09x faster |
| divrec | 1.335730 | 1.452032 | 1.09x faster |
| mazefun | 1.373024 | 1.460251 | 1.06x faster |
| diviter | 0.876630 | 0.926118 | 1.06x faster |
| read1 | 0.479976 | 0.506828 | 1.06x faster |
| bv2string | 0.556430 | 0.581804 | 1.05x faster |
| mbrotZ | 3.473678 | 3.598737 | 1.04x faster |
| dynamic | 1.202254 | 1.243997 | 1.03x faster |
| tak | 1.117018 | 1.127597 | 1.01x faster |
| compiler | 1.350782 | 1.319316 | 1.02x slower |
| ctak | 0.445583 | 0.420970 | 1.06x slower |
Hawk