- No page faults after 5s. Verify
minflt/majfltstable at zero while replaying. - Packet pool is fully preallocated and touched during startup. During soak,
packet_pool_misses_totalandpacket_pool_return_drops_totalmust remain zero.
- 14.88 Mpps for 60s, zero app-level drops
- p50 < 9 µs, p99 < 40 µs, p99.9 < 60 µs (decode entry, ts_rx_hw or calibrated ts_sw)
- 37.5 Mpps for 30s, zero drops, p99 < 80 µs
- Hard cut of feed A for 200 ms. Switch to B within dwell. No reordering beyond window. Zero duplicates.
- Inject 1,000 message gap. Replay fills within 100 ms. No duplicate events. Sequence strictly monotonic after merge.
- RX queue-full drops must recycle packet buffers before incrementing drop counters.
- Batched UDP receive must recycle every prepared buffer when
recvmmsgmakes no progress or returns a fatal error. - Timestamped UDP receive must stay on the batched
recvmmsgpath whenrx_recvmmsg_batch > 1and must classifySCM_TIMESTAMPINGslots by the actual timestamp returned by the kernel. - PACKET_MMAP drops must recycle the copied packet buffer before releasing the kernel frame.
- Merge-stage duplicate, stale, and out-of-window gap drops must recycle packet buffers when the packet pool is available to merge.
NUMI_BENCH_SMOKE=1 cargo bench --bench hot_paths -- --quietmust complete.cargo run --release --bin bench_pipeline -- local-coremust reportstatus=ok,sequence_gaps=0,dup_or_ooo=0,event_vec_reallocs=0, andpool_available=pool_size.cargo run --release --bin bench_pipeline -- rx-proof --packets 512 --artifact-dir target/bench-artifactsmust reportstatus=ok,expected_hash_match=true,journal_hash_match=true,decoder_sequence_gap_events=0, and non-zeroobo_frames. The artifact directory must containsummary.kv,manifest.kv, andproof.txt.cargo run --release --bin pool_soak -- 65536 2048 10000 64must reportmisses=0andreturn_drops=0.cargo run --release --bin rx_probe -- 100000 64 32 software 0must reportmissing=0,seq_gaps=0, anddup_or_ooo=0.- Local benchmark throughput is host-noise-sensitive and is not a production SLO claim.
cargo run --release --bin bench_pipeline -- target-rx --config config.toml --duration-sec 60 --packets 892800000while production-like multicast traffic is present. For 10GbE 64-byte payload class, require 14.88 Mpps for 60 seconds, zero app drops, and latency buckets by timestamp source.cargo run --release --bin bench_pipeline -- target-rx --config config.toml --duration-sec 30 --packets 1125000000for the 25GbE profile. Require 37.5 Mpps for 30 seconds and zero drops.cargo run --release --bin bench_pipeline -- target-failover-recoverymust reportstatus=ok, no sequence gaps, no duplicate/out-of-order output, and recovery under 100 ms for the injected gap.cargo run --release --bin bench_pipeline -- target-persistence --packets 1024must reportstatus=ok,anchored=true, no non-monotonic journal records, and matching final/restored state hashes.- Target results must record git SHA, git dirty state, rustc, allocator,
OS/kernel, CPU, NIC, timestamp source, config path, config hash, and artifact
path when
--artifact-diris used.
- 2026-04-15:
cargo clippy --all-targets --all-features -- -D warningspassed. - 2026-04-15:
RUSTFLAGS='' cargo check --target x86_64-unknown-linux-gnu --all-targetspassed. - 2026-04-15:
RUSTFLAGS='' cargo clippy --target x86_64-unknown-linux-gnu --all-targets -- -D warningspassed. - 2026-04-15:
cargo test --all-featurespassed with 52 library tests plus all binary and doc-test targets. - 2026-04-15:
cargo build --releasepassed. - 2026-04-15:
cargo run --release --bin pool_soak -- 65536 2048 10000 64completed 640,000 operations withmisses=0andreturn_drops=0. - 2026-04-15:
NUMI_BENCH_SMOKE=1 cargo bench --bench hot_paths -- --quietcompleted the Criterion smoke microbenchmarks. - 2026-04-15:
cargo run --release --bin bench_pipeline -- local-core --packets 512reportedstatus=ok,sequence_gaps=0,dup_or_ooo=0,event_vec_reallocs=0, andpool_available=pool_size. - 2026-04-15:
cargo run --release --bin bench_pipeline -- rx-proof --packets 512 --artifact-dir target/bench-artifactsreportedstatus=ok,expected_hash_match=true,journal_hash_match=true,decoder_sequence_gap_events=0, and createdsummary.kv,manifest.kv, andproof.txt. - 2026-04-15:
cargo run --release --bin bench_pipeline -- target-failover-recoveryreportedstatus=okfor a 1,000-message gap withpool_available=pool_size. - 2026-04-15:
docker build -t numi-orderbook:local .passed.