mozilla / neqo

Neqo, the Mozilla Firefox implementation of QUIC in Rust
https://firefox-source-docs.mozilla.org/networking/http/http3.html
Apache License 2.0
1.85k stars 124 forks source link

refactor: drop time crate in favor of std::time::SystemTime #2059

Closed mxinden closed 3 months ago

mxinden commented 3 months ago

Follow-up to https://github.com/mozilla/neqo/pull/2053.

github-actions[bot] commented 3 months ago

Failed Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.35%. Comparing base (abcd70f) to head (cca50a1). Report is 4 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2059 +/- ## ======================================= Coverage 95.35% 95.35% ======================================= Files 112 112 Lines 36499 36505 +6 ======================================= + Hits 34804 34811 +7 + Misses 1695 1694 -1 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 3 months ago

Benchmark results

Performance differences relative to e3d8be487989f8fd53a04cc25162bffff63c91ba.

coalesce_acked_from_zero 1+1 entries: No change in performance detected.
       time:   [99.578 ns 99.938 ns 100.31 ns]
       change: [-0.3532% +0.0371% +0.4631%] (p = 0.86 > 0.05)

Found 12 outliers among 100 measurements (12.00%)
  8 (8.00%) high mild
  4 (4.00%) high severe
coalesce_acked_from_zero 3+1 entries: No change in performance detected.
       time:   [117.62 ns 117.93 ns 118.26 ns]
       change: [-0.9587% -0.4465% -0.0127%] (p = 0.07 > 0.05)

Found 18 outliers among 100 measurements (18.00%)
  1 (1.00%) low severe
  1 (1.00%) low mild
  7 (7.00%) high mild
  9 (9.00%) high severe
coalesce_acked_from_zero 10+1 entries: No change in performance detected.
       time:   [117.04 ns 117.49 ns 118.04 ns]
       change: [-1.9023% -0.8571% -0.0179%] (p = 0.09 > 0.05)

Found 12 outliers among 100 measurements (12.00%)
  5 (5.00%) low mild
  1 (1.00%) high mild
  6 (6.00%) high severe
coalesce_acked_from_zero 1000+1 entries: No change in performance detected.
       time:   [97.682 ns 97.828 ns 97.989 ns]
       change: [-0.7288% +0.3282% +1.4279%] (p = 0.55 > 0.05)

Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) high mild
  5 (5.00%) high severe
RxStreamOrderer::inbound_frame(): No change in performance detected.
       time:   [111.24 ms 111.30 ms 111.36 ms]
       change: [-0.0123% +0.0497% +0.1168%] (p = 0.13 > 0.05)

Found 9 outliers among 100 measurements (9.00%)
  8 (8.00%) low mild
  1 (1.00%) high mild
transfer/pacing-false/varying-seeds: No change in performance detected.
       time:   [26.686 ms 27.540 ms 28.425 ms]
       change: [-3.9239% +0.8442% +5.9065%] (p = 0.74 > 0.05)

Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
transfer/pacing-true/varying-seeds: No change in performance detected.
       time:   [35.695 ms 37.252 ms 38.865 ms]
       change: [-4.3242% +2.1626% +9.3183%] (p = 0.53 > 0.05)

Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
transfer/pacing-false/same-seed: No change in performance detected.
       time:   [30.848 ms 31.704 ms 32.555 ms]
       change: [-4.0294% -0.5016% +3.3226%] (p = 0.78 > 0.05)
transfer/pacing-true/same-seed: No change in performance detected.
       time:   [42.910 ms 45.644 ms 48.406 ms]
       change: [-12.054% -4.4350% +4.0698%] (p = 0.29 > 0.05)
1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.
       time:   [113.94 ms 114.49 ms 114.99 ms]
       thrpt:  [869.65 MiB/s 873.48 MiB/s 877.65 MiB/s]
change:
       time:   [-1.0327% -0.2890% +0.3870%] (p = 0.45 > 0.05)
       thrpt:  [-0.3855% +0.2899% +1.0435%]

Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) low mild
1-conn/10_000-parallel-1b-resp (aka. RPS)/client: Change within noise threshold.
       time:   [308.66 ms 312.20 ms 315.82 ms]
       thrpt:  [31.663 Kelem/s 32.031 Kelem/s 32.398 Kelem/s]
change:
       time:   [+0.6662% +2.3693% +4.0217%] (p = 0.01 < 0.05)
       thrpt:  [-3.8662% -2.3144% -0.6618%]
1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.
       time:   [40.188 ms 40.880 ms 41.565 ms]
       thrpt:  [24.059  elem/s 24.462  elem/s 24.883  elem/s]
change:
       time:   [-2.1732% +0.1538% +2.4753%] (p = 0.90 > 0.05)
       thrpt:  [-2.4155% -0.1535% +2.2214%]

Client/server transfer results

Transfer of 33554432 bytes over loopback. Client Server CC Pacing Mean [ms] Min [ms] Max [ms] Relative
msquic msquic 122.3 ± 42.5 84.4 218.4 1.00
neqo msquic reno on 220.0 ± 14.3 203.5 240.7 1.00
neqo msquic reno 223.0 ± 20.0 203.6 268.7 1.00
neqo msquic cubic on 236.9 ± 27.6 211.9 318.1 1.00
neqo msquic cubic 244.0 ± 70.5 208.7 465.8 1.00
msquic neqo reno on 97.1 ± 66.7 74.7 413.6 1.00
msquic neqo reno 91.8 ± 20.4 73.6 145.9 1.00
msquic neqo cubic on 95.5 ± 21.9 75.4 159.1 1.00
msquic neqo cubic 128.2 ± 92.6 73.5 351.2 1.00
neqo neqo reno on 166.9 ± 59.1 123.7 381.4 1.00
neqo neqo reno 217.6 ± 148.0 122.3 684.8 1.00
neqo neqo cubic on 188.7 ± 77.8 127.4 408.4 1.00
neqo neqo cubic 171.1 ± 44.9 123.7 280.6 1.00

:arrow_down: Download logs

github-actions[bot] commented 3 months ago

Firefox builds for this PR

The following builds are available for testing. Crossed-out builds did not succeed.