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

feat: Try FxHasher to see if it makes a difference #2342

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

larseggert
Copy link
Collaborator

WIP

@larseggert larseggert marked this pull request as ready for review January 10, 2025 14:12
Copy link

codecov bot commented Jan 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.29%. Comparing base (46ed9c8) to head (6762a02).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2342      +/-   ##
==========================================
- Coverage   95.48%   95.29%   -0.19%     
==========================================
  Files         114      114              
  Lines       36899    36844      -55     
  Branches    36899    36844      -55     
==========================================
- Hits        35233    35111     -122     
- Misses       1660     1727      +67     
  Partials        6        6              

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

Copy link

github-actions bot commented Jan 10, 2025

Failed Interop Tests

QUIC Interop Runner, client vs. server, differences relative to 648863b.

neqo-latest as client

neqo-latest as server

All results

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

neqo-latest as server

Unsupported Interop Tests

QUIC Interop Runner, client vs. server

neqo-latest as client

neqo-latest as server

Copy link

Benchmark results

Performance differences relative to 085fa62.

decode 4096 bytes, mask ff: 💔 Performance has regressed.
       time:   [11.861 µs 11.902 µs 11.949 µs]
       change: [+5.8804% +7.8916% +11.491%] (p = 0.00 < 0.05)

Found 15 outliers among 100 measurements (15.00%)
1 (1.00%) low severe
3 (3.00%) low mild
11 (11.00%) high severe

decode 1048576 bytes, mask ff: 💚 Performance has improved.
       time:   [2.9236 ms 2.9334 ms 2.9448 ms]
       change: [-4.1088% -3.4258% -2.7991%] (p = 0.00 < 0.05)

Found 12 outliers among 100 measurements (12.00%)
2 (2.00%) low mild
10 (10.00%) high severe

decode 4096 bytes, mask 7f: 💔 Performance has regressed.
       time:   [19.787 µs 19.853 µs 19.940 µs]
       change: [+1.0995% +1.6042% +2.2302%] (p = 0.00 < 0.05)

Found 22 outliers among 100 measurements (22.00%)
1 (1.00%) low severe
5 (5.00%) low mild
2 (2.00%) high mild
14 (14.00%) high severe

decode 1048576 bytes, mask 7f: 💚 Performance has improved.
       time:   [5.0426 ms 5.0525 ms 5.0637 ms]
       change: [-3.6086% -2.7305% -2.1137%] (p = 0.00 < 0.05)

Found 10 outliers among 100 measurements (10.00%)
10 (10.00%) high severe

decode 4096 bytes, mask 3f: 💔 Performance has regressed.
       time:   [6.9204 µs 6.9898 µs 7.0877 µs]
       change: [+24.184% +25.026% +26.078%] (p = 0.00 < 0.05)

Found 18 outliers among 100 measurements (18.00%)
8 (8.00%) low mild
10 (10.00%) high severe

decode 1048576 bytes, mask 3f: 💚 Performance has improved.
       time:   [1.4137 ms 1.4193 ms 1.4262 ms]
       change: [-19.528% -19.279% -18.880%] (p = 0.00 < 0.05)

Found 5 outliers among 100 measurements (5.00%)
5 (5.00%) high severe

coalesce_acked_from_zero 1+1 entries: No change in performance detected.
       time:   [98.716 ns 98.957 ns 99.214 ns]
       change: [-0.5858% -0.1888% +0.2113%] (p = 0.37 > 0.05)

Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
7 (7.00%) high severe

coalesce_acked_from_zero 3+1 entries: No change in performance detected.
       time:   [116.95 ns 117.32 ns 117.72 ns]
       change: [-0.5470% -0.0151% +0.4738%] (p = 0.96 > 0.05)

Found 15 outliers among 100 measurements (15.00%)
2 (2.00%) low mild
1 (1.00%) high mild
12 (12.00%) high severe

coalesce_acked_from_zero 10+1 entries: No change in performance detected.
       time:   [116.83 ns 117.41 ns 118.07 ns]
       change: [-0.0844% +0.6105% +1.4908%] (p = 0.14 > 0.05)

Found 15 outliers among 100 measurements (15.00%)
4 (4.00%) low mild
11 (11.00%) high severe

coalesce_acked_from_zero 1000+1 entries: No change in performance detected.
       time:   [97.938 ns 98.074 ns 98.233 ns]
       change: [-0.2193% +0.6477% +1.5933%] (p = 0.16 > 0.05)

Found 12 outliers among 100 measurements (12.00%)
4 (4.00%) high mild
8 (8.00%) high severe

RxStreamOrderer::inbound_frame(): Change within noise threshold.
       time:   [111.49 ms 111.54 ms 111.60 ms]
       change: [+0.0598% +0.2208% +0.3414%] (p = 0.00 < 0.05)

Found 12 outliers among 100 measurements (12.00%)
11 (11.00%) low mild
1 (1.00%) high mild

SentPackets::take_ranges: No change in performance detected.
       time:   [5.5118 µs 5.6896 µs 5.8800 µs]
       change: [-2.5275% +0.3139% +3.4595%] (p = 0.83 > 0.05)

Found 8 outliers among 100 measurements (8.00%)
8 (8.00%) high mild

transfer/pacing-false/varying-seeds: Change within noise threshold.
       time:   [42.654 ms 42.739 ms 42.830 ms]
       change: [+1.8448% +2.1175% +2.4029%] (p = 0.00 < 0.05)

Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severe

transfer/pacing-true/varying-seeds: Change within noise threshold.
       time:   [42.995 ms 43.077 ms 43.161 ms]
       change: [+2.1200% +2.4231% +2.7105%] (p = 0.00 < 0.05)

Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild

transfer/pacing-false/same-seed: Change within noise threshold.
       time:   [42.502 ms 42.567 ms 42.641 ms]
       change: [+1.0850% +1.3050% +1.5377%] (p = 0.00 < 0.05)

Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe

transfer/pacing-true/same-seed: 💔 Performance has regressed.
       time:   [42.808 ms 42.884 ms 42.962 ms]
       change: [+3.1061% +3.3696% +3.6433%] (p = 0.00 < 0.05)

Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
1 (1.00%) high mild
1 (1.00%) high severe

1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: 💚 Performance has improved.
       time:   [879.56 ms 889.26 ms 899.13 ms]
       thrpt:  [111.22 MiB/s 112.45 MiB/s 113.69 MiB/s]
change:
       time:   [-5.4489% -3.9386% -2.4151%] (p = 0.00 < 0.05)
       thrpt:  [+2.4749% +4.1001% +5.7629%]
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: Change within noise threshold.
       time:   [310.16 ms 312.42 ms 314.71 ms]
       thrpt:  [31.775 Kelem/s 32.008 Kelem/s 32.241 Kelem/s]
change:
       time:   [-2.9303% -1.9932% -0.9754%] (p = 0.00 < 0.05)
       thrpt:  [+0.9850% +2.0338% +3.0187%]

Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
3 (3.00%) high mild

1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected.
       time:   [34.130 ms 34.307 ms 34.501 ms]
       thrpt:  [28.984  elem/s 29.149  elem/s 29.300  elem/s]
change:
       time:   [-0.7541% -0.0180% +0.7494%] (p = 0.96 > 0.05)
       thrpt:  [-0.7438% +0.0180% +0.7598%]

Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) high mild
2 (2.00%) high severe

1-conn/1-100mb-resp/mtu-1504 (aka. Upload)/client: No change in performance detected.
       time:   [1.6887 s 1.7064 s 1.7239 s]
       thrpt:  [58.009 MiB/s 58.603 MiB/s 59.217 MiB/s]
change:
       time:   [-1.5284% -0.1480% +1.2696%] (p = 0.83 > 0.05)
       thrpt:  [-1.2537% +0.1482% +1.5521%]

Client/server transfer results

Transfer of 33554432 bytes over loopback.

Client Server CC Pacing MTU Mean [ms] Min [ms] Max [ms]
gquiche gquiche 1504 586.6 ± 110.6 509.9 804.8
neqo gquiche reno on 1504 776.4 ± 87.2 722.6 995.8
neqo gquiche reno 1504 781.3 ± 39.3 747.5 885.9
neqo gquiche cubic on 1504 796.7 ± 96.0 736.5 996.7
neqo gquiche cubic 1504 757.7 ± 25.4 709.3 803.8
msquic msquic 1504 220.5 ± 114.3 98.9 475.4
neqo msquic reno on 1504 297.3 ± 113.7 212.9 519.0
neqo msquic reno 1504 320.5 ± 143.2 211.8 658.7
neqo msquic cubic on 1504 292.9 ± 94.4 212.2 466.0
neqo msquic cubic 1504 268.9 ± 83.9 210.9 428.5
gquiche neqo reno on 1504 688.4 ± 116.7 536.2 923.8
gquiche neqo reno 1504 719.5 ± 166.5 533.9 1122.4
gquiche neqo cubic on 1504 716.3 ± 150.0 552.8 1025.6
gquiche neqo cubic 1504 719.3 ± 155.8 554.0 1046.4
msquic neqo reno on 1504 493.2 ± 56.1 449.3 610.2
msquic neqo reno 1504 491.1 ± 63.5 460.6 670.5
msquic neqo cubic on 1504 499.6 ± 52.5 462.8 600.4
msquic neqo cubic 1504 528.0 ± 135.0 460.3 908.0
neqo neqo reno on 1504 516.5 ± 97.4 402.7 692.8
neqo neqo reno 1504 450.7 ± 11.6 434.9 471.7
neqo neqo cubic on 1504 522.6 ± 110.4 441.0 771.6
neqo neqo cubic 1504 475.0 ± 62.9 433.2 613.4

⬇️ Download logs

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.

1 participant