-
Notifications
You must be signed in to change notification settings - Fork 1
Description
This tracks performance work around the deterministic O(n) radix drain in the scheduler.\n\nAlready in PR #121:\n- Fail-fast drain (no silent drops) using unreachable! with map_or_else.\n- Keep histogram as Vec<u32> (65,536 buckets) with wrapping prefix-sum/scatter.\n- Use usize handle to avoid truncation casts.\n- Clippy pedantic cleanup; docs guard updates.\n\nFollow-ups (nice-to-have, gated by benches):\n- Validate SMALL_SORT_THRESHOLD (currently 1024) across distributions; tune if necessary.\n- Micro-ops: review branchless bucket extraction and pass ordering; consider precomputing pair indices.\n- Histogram zeroing: investigate partial reset strategies vs. full fill, keeping determinism.\n- Bench coverage: add skewed/clustered scope distributions and large-rule-id ranges.\n- Telemetry counters: optional scope for measuring pass counts and distribution characteristics (feature-gated).\n\nAcceptance: scheduler drain remains byte-lex consistent by (scope_hash, rule_id, nonce); benches show no regression; docs stay in sync.