# Engineering evidence

Fast ad decisions. Sustained execution. Measured results from the engineering behind wavebird.

Prepared by wavebird. Updated September 12, 2026. Test dates are listed with each result.

## 28.76 ms p99 in repeated ad-path benchmarks

March 23, 2026 · seven measured runs

Result: End-to-end p99: 28.76 ms. Firewall p99: 0.22 ms. Simulated-exchange round-trip p99: 15.28 ms.

What this supports: The repeated runs demonstrated reproducible low latency across the measured decision path, from context filtering through the simulated exchange response.

Test setup: Seven local benchmark runs after 1,000 warmup requests, with a simulated ad exchange. Values use the selected median run for each benchmark and cover the ad path, excluding AI generation.

Samples in selected latency runs: 12,000 firewall; 6,000 simulated-exchange; 1,200 end-to-end; 10,000 per beacon case; 2 settlement builds.
Consistency across runs: End-to-end p99 coefficient of variation: 9.02% across seven measured runs.

[Measurement data](https://wavebird.ai/evidence/benchmark-2026-03-23.json)

## Memory stability across eight hours and 24.3 million slot attempts

April 6–7, 2026 · eight-hour memory measurement

Result: 24,327,994 slot attempts. The measured steady-state heap trough was about 2.3% above the post-warmup baseline. Open handles remained at 24.

What this supports: The memory result supported the changes to slot eviction, ledger compaction, streaming settlement and projection pruning under sustained execution.

Test setup: Eight hours of continuous execution against the local wrapper path at concurrency 10. This memory-stability measurement used a predominantly no-fill workload.

Workload: 10 filled placements and 24,327,984 no-fill responses across 24,327,994 slot attempts.
Memory measurement: Samples every 30 seconds. Steady-state heap trough: 1.02319 times the post-warmup baseline.

[Measurement data](https://wavebird.ai/evidence/soak-2026-04-07.json)

## More than 3,900 beacons per second

April 19, 2026 · one measured run

Result: Beacon throughput: 3,908.69 operations/s. Job throughput: 1,028.75 operations/s. End-to-end p99: 19.51 ms.

What this supports: The benchmark measured event-processing throughput alongside the decision path, providing a concrete reference for the work between an ad request and its recorded events.

Test setup: A local benchmark with a simulated exchange, one measured run and five warmup requests. Ad-path measurements exclude AI generation.

Additional latency results: Firewall p99: 0.24 ms; simulated-exchange p99: 7.66 ms; sequential beacon p99: 0.72 ms; seeded settlement maximum: 0.28 ms.
Beacon concurrency: p99: 2.51 ms at concurrency 10, 2.52 ms at concurrency 50 and 2.11 ms at concurrency 100.
Additional throughput: Simulated-exchange requests: 1,486.64/s. Seeded settlement processing: 47,619.05 slots/s.

[Measurement data](https://wavebird.ai/evidence/benchmark-2026-04-19.json)

## 43,200 auctions with zero failed or dropped operations

June 25, 2026 · local load test

Result: The 60-minute soak completed 43,200 auctions at 12 auctions/s, with zero failed or dropped operations and p99 latency of 1,107.31 ms. The 24-auction/s spike and recovery also met their test criteria.

What this supports: The stable, spike and soak stages demonstrated sustained processing and recovery after a defined traffic spike within the tested load profile.

Test setup: A local load test with simulated partner services, covering a ramp, boundary probe, 30-minute stable stage, double-rate spike and 60-minute soak.

Stable stage: 12 auctions/s for 30 minutes: 21,600 completed; no failed or dropped operations; p99 515.92 ms.
Spike stage: 24 auctions/s for 5 minutes: 7,200 completed; no failed or dropped operations; p99 1,639.91 ms.
Boundary probe: 30 auctions/s for 5 minutes: 9,000 completed; no failed or dropped operations; p99 1,145.21 ms.

[Measurement data](https://wavebird.ai/evidence/capacity-2026-06-25.json)

### March latency details
firewall_bench: 12,000 samples; p50 0.04 ms; p95 0.12 ms; p99/maximum 0.22 ms.
ssp_roundtrip_bench: 6,000 samples; p50 7.11 ms; p95 13.03 ms; p99/maximum 15.28 ms.
e2e_bench: 1,200 samples; p50 12.98 ms; p95 24.35 ms; p99/maximum 28.76 ms.
beacon_bench_seq: 10,000 samples; p50 0.37 ms; p95 0.93 ms; p99/maximum 1.39 ms.
beacon_bench_c10: 10,000 samples; p50 5.45 ms; p95 8.96 ms; p99/maximum 10.62 ms.
beacon_bench_c50: 10,000 samples; p50 23.83 ms; p95 36.46 ms; p99/maximum 41.76 ms.
beacon_bench_c100: 10,000 samples; p50 52.31 ms; p95 73.23 ms; p99/maximum 78.75 ms.
settlement_bench: 2 samples; p50 832.93 ms; p95 887.58 ms; p99/maximum max 887.58 ms.

### March throughput details
ssp_requests_per_second: 1,364.82 requests/s; concurrency 50.
settlement_slots_per_minute: 104,483.02 seeded slots/s; concurrency 1.
jobs_per_second: 798.99 jobs/s; concurrency 100.
beacons_per_second: 2,027.93 beacons/s; concurrency 1.

The historical settlement_slots_per_minute identifier reports seeded slots per second, calculated from the batch size and elapsed seconds.

Selected measurements from wavebird engineering records. Downloads include test settings, original measured values and source hashes.
