-
Notifications
You must be signed in to change notification settings - Fork 123
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
test(transport/connection): apply modifier after Output::Callback #2078
Conversation
Previously `send_something_paced_with_modifier` would only apply the `modifier` if `sender.process_output` returned a `Output::Datagram` right away, but not when `sender.process_ouput` returned a datagram after returning a `Output::Callback`. With this commit, `modifier` is always applied.
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
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2078 +/- ##
=======================================
Coverage 95.36% 95.36%
=======================================
Files 112 112
Lines 36505 36505
=======================================
Hits 34813 34813
Misses 1692 1692 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to a793d4a. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [98.846 ns 99.213 ns 99.587 ns] change: [-0.7774% -0.0972% +0.7325%] (p = 0.81 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [117.25 ns 117.61 ns 118.00 ns] change: [-0.5612% -0.0375% +0.4667%] (p = 0.89 > 0.05) coalesce_acked_from_zero 10+1 entries: Change within noise threshold.time: [116.54 ns 116.78 ns 117.15 ns] change: [-0.9024% -0.4441% -0.0500%] (p = 0.04 < 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [97.272 ns 97.426 ns 97.609 ns] change: [-1.4806% -0.1767% +1.2807%] (p = 0.81 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [111.49 ms 111.63 ms 111.85 ms] change: [-0.5307% -0.2737% -0.0278%] (p = 0.01 < 0.05) transfer/pacing-false/varying-seeds: No change in performance detected.time: [27.780 ms 28.850 ms 29.932 ms] change: [-1.5775% +3.5222% +8.8454%] (p = 0.19 > 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [35.285 ms 36.983 ms 38.663 ms] change: [-6.3671% -0.0512% +6.4089%] (p = 0.99 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [32.378 ms 33.153 ms 33.925 ms] change: [-0.6137% +2.9747% +6.6842%] (p = 0.11 > 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [41.143 ms 44.307 ms 47.486 ms] change: [-14.722% -6.5610% +3.1422%] (p = 0.17 > 0.05) 1-conn/1-100mb-resp (aka. Download)/client: 💔 Performance has regressed.time: [115.78 ms 116.16 ms 116.54 ms] thrpt: [858.07 MiB/s 860.86 MiB/s 863.68 MiB/s] change: time: [+1.6990% +2.3127% +2.9363%] (p = 0.00 < 0.05) thrpt: [-2.8525% -2.2604% -1.6707%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: No change in performance detected.time: [306.79 ms 309.98 ms 313.17 ms] thrpt: [31.931 Kelem/s 32.260 Kelem/s 32.596 Kelem/s] change: time: [-1.6931% -0.0907% +1.5696%] (p = 0.91 > 0.05) thrpt: [-1.5453% +0.0908% +1.7223%] 1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.time: [41.136 ms 41.860 ms 42.577 ms] thrpt: [23.487 elem/s 23.889 elem/s 24.310 elem/s] change: time: [-0.3627% +2.0644% +4.6880%] (p = 0.10 > 0.05) thrpt: [-4.4780% -2.0226% +0.3640%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
Previously
send_something_paced_with_modifier
would only apply themodifier
ifsender.process_output
returned aOutput::Datagram
right away, but not whensender.process_ouput
returned a datagram after returning aOutput::Callback
.With this commit,
modifier
is always applied.I am assuming this was the original intention of the function. Am I missing something?