-
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
chore(neqo-udp): drop tokio dependency #1988
Conversation
`neqo-udp` is used in Firefox. Firefox uses `cargo vet` to audit its dependencies. `tokio`, the dependency of `neqo-udp`, is not audited as `safe-to-deploy`. `cargo vet` will require `safe-to-deploy` for `tokio` even when behind a feature flag. To work around this limitation in `cargo vet`, drop `tokio` dependency in `neqo-udp`, moving `tokio` specific logic into `neqo-bin`. See details in: - mozilla/cargo-vet#626 - https://bugzilla.mozilla.org/show_bug.cgi?id=1907810 - https://phabricator.services.mozilla.com/D212959#inline-1194604
|
@mxinden please double-check
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1988 +/- ##
==========================================
+ Coverage 94.96% 94.99% +0.03%
==========================================
Files 112 112
Lines 36504 36459 -45
==========================================
- Hits 34667 34636 -31
+ Misses 1837 1823 -14 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to ef4a06c. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [191.52 ns 191.89 ns 192.29 ns] change: [-0.4732% -0.1538% +0.1820%] (p = 0.35 > 0.05) coalesce_acked_from_zero 3+1 entries: No change in performance detected.time: [232.49 ns 233.02 ns 233.61 ns] change: [-0.2158% +0.1157% +0.4337%] (p = 0.52 > 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [231.84 ns 232.48 ns 233.30 ns] change: [-1.0180% -0.2648% +0.5237%] (p = 0.49 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [213.98 ns 214.32 ns 214.67 ns] change: [-5.7084% -1.6131% +0.8165%] (p = 0.61 > 0.05) RxStreamOrderer::inbound_frame(): Change within noise threshold.time: [118.98 ms 119.17 ms 119.41 ms] change: [-0.0073% +0.2660% +0.5418%] (p = 0.04 < 0.05) transfer/Run multiple transfers with varying seeds: No change in performance detected.time: [54.390 ms 57.359 ms 60.391 ms] thrpt: [66.235 MiB/s 69.737 MiB/s 73.542 MiB/s] change: time: [-7.8324% -0.9998% +6.2566%] (p = 0.78 > 0.05) thrpt: [-5.8882% +1.0099% +8.4980%] transfer/Run multiple transfers with the same seed: No change in performance detected.time: [63.946 ms 70.626 ms 77.281 ms] thrpt: [51.759 MiB/s 56.636 MiB/s 62.553 MiB/s] change: time: [-13.289% -0.8248% +14.109%] (p = 0.90 > 0.05) thrpt: [-12.365% +0.8317% +15.325%] 1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.time: [278.85 ms 286.29 ms 294.89 ms] thrpt: [339.11 MiB/s 349.30 MiB/s 358.62 MiB/s] change: time: [-2.8253% +0.3915% +3.8635%] (p = 0.82 > 0.05) thrpt: [-3.7198% -0.3899% +2.9075%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: 💔 Performance has regressed.time: [452.09 ms 455.00 ms 457.86 ms] thrpt: [21.841 Kelem/s 21.978 Kelem/s 22.119 Kelem/s] change: time: [+2.1492% +3.1238% +4.2305%] (p = 0.00 < 0.05) thrpt: [-4.0588% -3.0292% -2.1040%] 1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.time: [68.321 ms 68.683 ms 69.094 ms] thrpt: [14.473 elem/s 14.560 elem/s 14.637 elem/s] change: time: [-1.3993% -0.5159% +0.3939%] (p = 0.26 > 0.05) thrpt: [-0.3923% +0.5186% +1.4192%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
Looks good. Thank you @larseggert. |
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.
Make sense to me.
Correcting an (at least) misleading statement I made earlier in the h3 call:
Note that this does not change the plan here. In other words, we should still continue with this pull request. |
neqo-udp
is used in Firefox. Firefox usescargo vet
to audit its dependencies.tokio
, the dependency ofneqo-udp
, is not audited assafe-to-deploy
.cargo vet
will requiresafe-to-deploy
fortokio
even when behind a feature flag.To work around this limitation in
cargo vet
, droptokio
dependency inneqo-udp
, movingtokio
specific logic intoneqo-bin
.See details in: