-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(benches/transfer): remove throughput #2007
Conversation
The `neqo-transport/benches/transfer.rs` benchmarks use the `test-fixture/src/sim` simulator. The simulator can travel in time, i.e. it simulates time. The _wall-clock time_ of a single benchmark run is not the amount of time it took to transfer `TRANSFER_AMOUNT`. The _simulated time_ is the amount of time it took to transfer `TRANSFER_AMOUNT`. `criterion` will use the _wall-clock time_, not the _simulated time_ to calculate the throughput based on `TRANSFER_AMOUNT`. The resulting throughput number is not meaningful. This commit removes the call to `group.throughput`, thus removing the misleading `criterion` throughput reporting.
c886e58
to
e09e7a5
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2007 +/- ##
=======================================
Coverage 95.00% 95.00%
=======================================
Files 112 112
Lines 36364 36364
=======================================
+ Hits 34546 34549 +3
+ Misses 1818 1815 -3 ☔ View full report in Codecov by Sentry. |
Failed Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
Benchmark resultsPerformance differences relative to 7a39675. coalesce_acked_from_zero 1+1 entries: 💚 Performance has improved.time: [189.97 ns 190.47 ns 191.00 ns] change: [-2.9299% -2.4592% -2.0057%] (p = 0.00 < 0.05) Performance has Found 2 outliers among 100 measurements (2.00%) 1 (1.00%) high mild 1 (1.00%) high severe coalesce_acked_from_zero 3+1 entries: 💚 Performance has improved.time: [230.52 ns 230.97 ns 231.47 ns] change: [-2.9535% -2.4520% -1.7883%] (p = 0.00 < 0.05) Performance has Found 11 outliers among 100 measurements (11.00%) 1 (1.00%) low mild 1 (1.00%) high mild 9 (9.00%) high severe coalesce_acked_from_zero 10+1 entries: Change within noise threshold.time: [230.20 ns 230.75 ns 231.47 ns] change: [-2.7996% -1.8925% -0.5057%] (p = 0.00 < 0.05) Change within Found 5 outliers among 100 measurements (5.00%) 5 (5.00%) high severe coalesce_acked_from_zero 1000+1 entries: Change within noise threshold.time: [217.60 ns 217.82 ns 218.07 ns] change: [-1.3794% -0.6760% +0.0194%] (p = 0.05 < 0.05) Change within Found 13 outliers among 100 measurements (13.00%) 7 (7.00%) high mild 6 (6.00%) high severe RxStreamOrderer::inbound_frame(): No change in performance detected.time: [118.65 ms 118.83 ms 119.09 ms] change: [-0.0166% +0.1665% +0.4268%] (p = 0.12 > 0.05) No change Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high severe transfer/pacing-false/varying-seeds: No change in performance detected.time: [39.139 ms 41.438 ms 43.731 ms] change: [-7.4449% -1.0747% +5.4487%] (p = 0.76 > 0.05) No change Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high mild transfer/pacing-true/varying-seeds: No change in performance detected.time: [50.893 ms 53.748 ms 56.634 ms] change: [-13.440% -6.3842% +1.1913%] (p = 0.10 > 0.05) No change Found 4 outliers among 100 measurements (4.00%) 2 (2.00%) low mild 2 (2.00%) high mild transfer/pacing-false/same-seed: No change in performance detected.time: [47.983 ms 49.488 ms 50.937 ms] change: [-3.8273% +0.2587% +4.7279%] (p = 0.90 > 0.05) No change Found 4 outliers among 100 measurements (4.00%) 4 (4.00%) low mild transfer/pacing-true/same-seed: No change in performance detected.time: [68.613 ms 75.000 ms 81.355 ms] change: [-6.3302% +5.4390% +19.507%] (p = 0.40 > 0.05) No change 1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.time: [290.42 ms 298.80 ms 306.74 ms] thrpt: [326.01 MiB/s 334.67 MiB/s 344.33 MiB/s] change: time: [-3.5019% +0.3637% +4.4492%] (p = 0.87 > 0.05) thrpt: [-4.2597% -0.3624% +3.6290%] No change 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: 💚 Performance has improved.time: [399.13 ms 402.39 ms 405.71 ms] thrpt: [24.648 Kelem/s 24.852 Kelem/s 25.055 Kelem/s] change: time: [-4.2455% -3.0686% -1.9164%] (p = 0.00 < 0.05) thrpt: [+1.9539% +3.1657% +4.4338%] Performance has 1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.time: [68.372 ms 68.771 ms 69.221 ms] thrpt: [14.447 elem/s 14.541 elem/s 14.626 elem/s] change: time: [-0.1329% +0.6064% +1.4190%] (p = 0.14 > 0.05) thrpt: [-1.3991% -0.6028% +0.1331%] No change Found 11 outliers among 100 measurements (11.00%) 1 (1.00%) low mild 10 (10.00%) high severe Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but maybe add a comment where the removed line was, so we know why we removed it?
The
neqo-transport/benches/transfer.rs
benchmarks use thetest-fixture/src/sim
simulator. The simulator can travel in time, i.e. it simulates time.The wall-clock time of a single benchmark run is not the amount of time it took to transfer
TRANSFER_AMOUNT
. The simulated time is the amount of time it took to transferTRANSFER_AMOUNT
.criterion
will use the wall-clock time, not the simulated time to calculate the throughput based onTRANSFER_AMOUNT
. The resulting throughput number is not meaningful.This commit removes the call to
group.throughput
, thus removing the misleadingcriterion
throughput reporting.Related to #1998.