Repository navigation
perf(stats): select exact percentiles for large latency reports - #6
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Large benchmark runs retain every latency sample but only report nine percentile ranks. Computing those ranks currently sorts the entire array. Select exact ranks over bounded partitions, retain the existing sort for at most 1,024 samples, and directly read ascending/descending arrays.
All samples and floating-point report values are preserved. Collection, timestamps, request/error counts, and the elapsed-time boundary are unchanged. This improves latency-summary computation after a run; it makes no request-throughput claim.
Measured with immutable baseline
e09bfd1and candidate binaries, full release optimization, CPU affinity, five alternating process pairs, and separate Rust 1.98/seed 73 and Rust 1.91/seed 73073 series:Validation: 315 unit + 51 integration tests pass in each debug/release profile (two existing ignored unit tests); strict all-target Clippy and formatting pass; standalone MSRV tests pass. New exhaustive/seeded tests compare every output bit and the complete sample multiset. All 36 full text/JSON report comparisons are byte-identical. Fixed-hfast H1/H2/H3 runs complete 196,608 exact status-200 successes with zero errors.
The committed benchmark harnesses and
benchmarks/accepted-latency-selection.mdcontain reproduction instructions, all distribution summaries, uncertainty, and tradeoffs.