-
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
Use retain to clear out old streams #2144
Use retain to clear out old streams #2144
Conversation
This is simpler code overall. It might even be faster. It certainly avoids an allocation.
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 #2144 +/- ##
==========================================
- Coverage 95.35% 95.35% -0.01%
==========================================
Files 112 112
Lines 36345 36336 -9
==========================================
- Hits 34657 34648 -9
Misses 1688 1688 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to a4c4ccd. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [98.912 ns 99.576 ns 100.56 ns] change: [-0.7002% -0.1631% +0.4100%] (p = 0.58 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [116.84 ns 117.17 ns 117.52 ns] change: [-0.2656% +0.1840% +0.6315%] (p = 0.43 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [116.18 ns 116.53 ns 116.98 ns] change: [-1.9280% -0.7792% +0.0945%] (p = 0.15 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [97.020 ns 97.181 ns 97.361 ns] change: [-2.2018% -1.0929% +0.0494%] (p = 0.05 > 0.05) RxStreamOrderer::inbound_frame(): No change in performance detected.time: [111.19 ms 111.25 ms 111.32 ms] change: [-0.3237% -0.1143% +0.0285%] (p = 0.24 > 0.05) transfer/pacing-false/varying-seeds: No change in performance detected.time: [27.017 ms 28.139 ms 29.266 ms] change: [-3.9055% +2.0014% +8.3834%] (p = 0.51 > 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [35.732 ms 37.639 ms 39.544 ms] change: [-7.2348% -0.9713% +5.5349%] (p = 0.77 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [25.709 ms 26.533 ms 27.360 ms] change: [-7.9628% -3.7665% +0.3085%] (p = 0.07 > 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [40.332 ms 42.318 ms 44.292 ms] change: [-6.6557% +0.4523% +8.0061%] (p = 0.90 > 0.05) 1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.time: [112.99 ms 113.33 ms 113.65 ms] thrpt: [879.88 MiB/s 882.40 MiB/s 885.03 MiB/s] change: time: [-1.1627% -0.5632% +0.0039%] (p = 0.07 > 0.05) thrpt: [-0.0039% +0.5663% +1.1764%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: No change in performance detected.time: [312.02 ms 316.30 ms 320.64 ms] thrpt: [31.188 Kelem/s 31.615 Kelem/s 32.049 Kelem/s] change: time: [-2.6302% -0.8511% +0.9124%] (p = 0.34 > 0.05) thrpt: [-0.9042% +0.8584% +2.7012%] 1-conn/1-1b-resp (aka. HPS)/client: Change within noise threshold.time: [33.631 ms 33.797 ms 33.973 ms] thrpt: [29.435 elem/s 29.588 elem/s 29.735 elem/s] change: time: [-1.6397% -0.8740% -0.1344%] (p = 0.03 < 0.05) thrpt: [+0.1346% +0.8818% +1.6671%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
This is simpler code overall. It might even be faster. It certainly avoids an allocation.