Skip to content
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: Make sure the primary path exists at various steps in the handshake #1814

Merged
merged 5 commits into from
Apr 16, 2024

Conversation

larseggert
Copy link
Collaborator

Fixes #1448

Copy link

github-actions bot commented Apr 10, 2024

Benchmark results

Performance differences relative to c004359.

  • drain a timer quickly time: [429.31 ns 435.00 ns 440.29 ns]
    change: [+0.5498% +1.7720% +3.0422%] (p = 0.01 < 0.05)
    Change within noise threshold.

  • coalesce_acked_from_zero 1+1 entries
    time: [194.83 ns 195.49 ns 196.35 ns]
    change: [-3.2560% -1.5610% +1.2686%] (p = 0.28 > 0.05)
    No change in performance detected.

  • coalesce_acked_from_zero 3+1 entries
    time: [239.31 ns 239.87 ns 240.52 ns]
    change: [-0.8737% -0.6225% -0.3609%] (p = 0.00 < 0.05)
    Change within noise threshold.

  • coalesce_acked_from_zero 10+1 entries
    time: [238.44 ns 239.71 ns 241.11 ns]
    change: [-1.4186% -0.9377% -0.4908%] (p = 0.00 < 0.05)
    Change within noise threshold.

  • coalesce_acked_from_zero 1000+1 entries
    time: [219.88 ns 220.04 ns 220.25 ns]
    change: [-13.922% -5.0020% +0.4701%] (p = 0.40 > 0.05)
    No change in performance detected.

  • RxStreamOrderer::inbound_frame()
    time: [118.62 ms 118.76 ms 118.99 ms]
    change: [-0.1152% +0.0491% +0.2646%] (p = 0.65 > 0.05)
    No change in performance detected.

  • transfer/Run multiple transfers with varying seeds
    time: [118.92 ms 119.23 ms 119.55 ms]
    thrpt: [33.458 MiB/s 33.548 MiB/s 33.635 MiB/s]
    change:
    time: [-0.9682% -0.6168% -0.2464%] (p = 0.00 < 0.05)
    thrpt: [+0.2470% +0.6206% +0.9776%]
    Change within noise threshold.

  • transfer/Run multiple transfers with the same seed
    time: [119.92 ms 120.12 ms 120.32 ms]
    thrpt: [33.244 MiB/s 33.300 MiB/s 33.354 MiB/s]
    change:
    time: [-0.7662% -0.5401% -0.3157%] (p = 0.00 < 0.05)
    thrpt: [+0.3167% +0.5431% +0.7721%]
    Change within noise threshold.

  • 1-conn/1-100mb-resp (aka. Download)/client
    time: [1.1213 s 1.1276 s 1.1340 s]
    thrpt: [88.187 MiB/s 88.683 MiB/s 89.183 MiB/s]
    change:
    time: [+3.2833% +4.2519% +5.1445%] (p = 0.00 < 0.05)
    thrpt: [-4.8928% -4.0785% -3.1790%]
    💔 Performance has regressed.

  • 1-conn/10_000-parallel-1b-resp (aka. RPS)/client
    time: [427.10 ms 429.27 ms 431.43 ms]
    thrpt: [23.179 Kelem/s 23.296 Kelem/s 23.414 Kelem/s]
    change:
    time: [-0.4027% +0.2569% +0.9424%] (p = 0.47 > 0.05)
    thrpt: [-0.9336% -0.2562% +0.4043%]
    No change in performance detected.

  • 1-conn/1-1b-resp (aka. HPS)/client
    time: [51.754 ms 51.956 ms 52.213 ms]
    thrpt: [19.152 elem/s 19.247 elem/s 19.322 elem/s]
    change:
    time: [-1.6277% -0.7624% +0.1402%] (p = 0.09 > 0.05)
    thrpt: [-0.1400% +0.7683% +1.6547%]
    No change in performance detected.

Client/server transfer results

Transfer of 134217728 bytes over loopback.

Client Server CC Pacing Mean [ms] Min [ms] Max [ms] Relative
msquic msquic 804.0 ± 372.0 385.4 1252.5 1.00
neqo msquic reno on 931.5 ± 255.4 770.8 1426.3 1.00
neqo msquic reno 941.6 ± 161.5 764.1 1181.6 1.00
neqo msquic cubic on 979.8 ± 246.2 776.0 1417.9 1.00
neqo msquic cubic 1037.1 ± 205.0 812.4 1428.7 1.00
msquic neqo reno on 4448.2 ± 218.2 4105.7 4766.9 1.00
msquic neqo reno 4384.5 ± 256.7 4036.4 4891.2 1.00
msquic neqo cubic on 4456.9 ± 237.2 4190.7 4999.2 1.00
msquic neqo cubic 4451.3 ± 222.1 4159.4 4896.2 1.00
neqo neqo reno on 3796.4 ± 277.7 3427.2 4446.3 1.00
neqo neqo reno 3554.2 ± 157.9 3274.6 3789.5 1.00
neqo neqo cubic on 4250.1 ± 594.8 2875.4 5305.3 1.00
neqo neqo cubic 4378.6 ± 215.3 4095.2 4835.6 1.00

⬇️ Download logs

Co-authored-by: Max Inden <[email protected]>
Signed-off-by: Lars Eggert <[email protected]>
Copy link

codecov bot commented Apr 12, 2024

Codecov Report

Attention: Patch coverage is 91.66667% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 93.13%. Comparing base (c44e536) to head (9408049).
Report is 4 commits behind head on main.

Files Patch % Lines
neqo-transport/src/connection/mod.rs 91.66% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1814   +/-   ##
=======================================
  Coverage   93.13%   93.13%           
=======================================
  Files         117      117           
  Lines       36339    36354   +15     
=======================================
+ Hits        33843    33858   +15     
  Misses       2496     2496           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@martinthomson martinthomson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The coverage complaint seems like a reasonable trade.

@larseggert larseggert added this pull request to the merge queue Apr 16, 2024
Merged via the queue into mozilla:main with commit 3012f72 Apr 16, 2024
14 of 15 checks passed
@larseggert larseggert deleted the fix-1448 branch April 16, 2024 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Server crashes when client sends a CONNECTION_CLOSE frame.
3 participants