Cross-platform authorization benchmarks for the Cedarling bindings,
regenerated on pushes to main that change jans-cedarling/**,
or on a manual workflow_dispatch run against main.
Last updated: 2026-09-25 19:38 UTC (commit 371c3f0).
Each binding is measured on its own GitHub-hosted ubuntu-latest runner.
Runners are provisioned fresh per binding, so cross-binding comparisons are
unpaired and subject to per-runner variance; read cross-binding ratios as
directional rather than exact, especially for closely-matched bindings.
Warm-up iterations per scenario: 100; measured (sample count) per scenario: 1000.
Note:unsigned_batch_* and multi_issuer_batch_* measure the full batch call, not per-item latency.
Relative speed per scenario (x vs Rust, lower = faster)#
Ratios use each binding's full-precision mean_ns over Rust's, so they may not match dividing the rounded µs values shown above. Rows where Rust is unavailable use the fastest binding as the baseline.
Scenario
c
go
python
rust
wasm
multi_issuer_2_tokens
1.03x ████
0.96x ████
0.93x ████
1.00x ████
2.37x ██████████
multi_issuer_3_tokens
1.04x █████
1.06x █████
0.94x ████
1.00x █████
2.12x ██████████
multi_issuer_batch_10
0.99x █████
0.97x █████
0.86x ████
1.00x █████
2.15x ██████████
multi_issuer_batch_25
0.99x █████
0.97x █████
0.84x ████
1.00x █████
2.14x ██████████
multi_issuer_sig_status
skipped
skipped
skipped
skipped
skipped
unsigned_batch_10
1.00x ███
1.08x ███
0.78x ██
1.00x ███
3.33x ██████████
unsigned_batch_25
1.00x ███
1.09x ███
0.77x ██
1.00x ███
3.30x ██████████
unsigned_deep_json
1.04x ████
1.04x ████
0.84x ███
1.00x ████
2.54x ██████████
unsigned_simple
1.07x ██
1.06x ██
0.74x ██
1.00x ██
4.48x ██████████
Latency columns (Mean, p50, p95, p99, Min, Max) in the detail tables below are microseconds (µs).