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

bench(transport/recovery): benchmark SentPackets::take_ranges #2253

Merged
merged 5 commits into from
Nov 26, 2024

Conversation

mxinden
Copy link
Collaborator

@mxinden mxinden commented Nov 25, 2024

This pull request extracts the benchmark from #2245.

I suggest we merge here first. We can then compare #2245 against its baseline on main.

Note the second separate commit, addressing clippy lints only (82ef97e).

In order to benchmark `SentPackets::take_ranges`, we need to make `packets`,
`recovery` and `sent` public modules, feature flagged with `bench`.

Public modules have stricter clippy lints.

This commit addresses the failing clippy lints.
@mxinden mxinden changed the title Sent packets bench bench(transport/recovery): benchmark SentPackets::take_ranges Nov 25, 2024
@mxinden mxinden marked this pull request as ready for review November 25, 2024 16:30
Copy link

github-actions bot commented Nov 25, 2024

Failed Interop Tests

QUIC Interop Runner, client vs. server

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

codecov bot commented Nov 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.37%. Comparing base (2fb1a3b) to head (1ed1ca0).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2253      +/-   ##
==========================================
- Coverage   95.37%   95.37%   -0.01%     
==========================================
  Files         112      112              
  Lines       36569    36567       -2     
==========================================
- Hits        34879    34875       -4     
- Misses       1690     1692       +2     

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

Copy link

github-actions bot commented Nov 25, 2024

Benchmark results

Performance differences relative to 2fb1a3b.

coalesce_acked_from_zero 1+1 entries: No change in performance detected.
       time:   [99.127 ns 99.456 ns 99.792 ns]
       change: [-0.7973% -0.2040% +0.3593%] (p = 0.52 > 0.05)

Found 12 outliers among 100 measurements (12.00%)
7 (7.00%) high mild
5 (5.00%) high severe

coalesce_acked_from_zero 3+1 entries: No change in performance detected.
       time:   [117.40 ns 117.80 ns 118.21 ns]
       change: [-0.3926% +0.3106% +1.1108%] (p = 0.47 > 0.05)

Found 19 outliers among 100 measurements (19.00%)
1 (1.00%) low severe
2 (2.00%) low mild
16 (16.00%) high severe

coalesce_acked_from_zero 10+1 entries: No change in performance detected.
       time:   [116.84 ns 117.25 ns 117.77 ns]
       change: [-0.4678% +0.0552% +0.6559%] (p = 0.85 > 0.05)

Found 14 outliers among 100 measurements (14.00%)
6 (6.00%) low severe
1 (1.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.298 ns 97.425 ns 97.568 ns]
       change: [-0.9875% -0.1627% +0.6617%] (p = 0.70 > 0.05)

Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe

RxStreamOrderer::inbound_frame(): Change within noise threshold.
       time:   [112.08 ms 112.13 ms 112.19 ms]
       change: [-0.2810% -0.2128% -0.1444%] (p = 0.00 < 0.05)

Found 13 outliers among 100 measurements (13.00%)
5 (5.00%) low mild
8 (8.00%) high mild

SentPackets::take_ranges:
       time:   [157.04 µs 157.66 µs 158.19 µs]
transfer/pacing-false/varying-seeds: No change in performance detected.
       time:   [26.773 ms 27.732 ms 28.709 ms]
       change: [-4.9717% -0.3361% +4.7053%] (p = 0.89 > 0.05)
transfer/pacing-true/varying-seeds: No change in performance detected.
       time:   [34.248 ms 35.979 ms 37.716 ms]
       change: [-5.6813% +0.8108% +7.8947%] (p = 0.82 > 0.05)

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

transfer/pacing-false/same-seed: No change in performance detected.
       time:   [25.507 ms 26.322 ms 27.148 ms]
       change: [-6.0300% -1.9772% +2.3137%] (p = 0.37 > 0.05)
transfer/pacing-true/same-seed: No change in performance detected.
       time:   [40.788 ms 42.861 ms 44.966 ms]
       change: [-7.0481% -0.9421% +6.0606%] (p = 0.79 > 0.05)
1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: Change within noise threshold.
       time:   [927.21 ms 935.87 ms 944.65 ms]
       thrpt:  [105.86 MiB/s 106.85 MiB/s 107.85 MiB/s]
change:
       time:   [-3.2439% -1.9554% -0.6187%] (p = 0.00 < 0.05)
       thrpt:  [+0.6226% +1.9943% +3.3527%]
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: No change in performance detected.
       time:   [317.91 ms 321.20 ms 324.53 ms]
       thrpt:  [30.813 Kelem/s 31.133 Kelem/s 31.455 Kelem/s]
change:
       time:   [-1.8306% -0.3840% +0.9605%] (p = 0.58 > 0.05)
       thrpt:  [-0.9513% +0.3854% +1.8647%]
1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected.
       time:   [33.510 ms 33.685 ms 33.868 ms]
       thrpt:  [29.527  elem/s 29.687  elem/s 29.842  elem/s]
change:
       time:   [-1.4493% -0.6925% +0.0786%] (p = 0.08 > 0.05)
       thrpt:  [-0.0785% +0.6974% +1.4707%]

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

1-conn/1-100mb-resp/mtu-1504 (aka. Upload)/client: No change in performance detected.
       time:   [1.6664 s 1.6865 s 1.7076 s]
       thrpt:  [58.561 MiB/s 59.295 MiB/s 60.010 MiB/s]
change:
       time:   [-3.3421% -1.6807% +0.0839%] (p = 0.06 > 0.05)
       thrpt:  [-0.0838% +1.7095% +3.4577%]

Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild

Client/server transfer results

Transfer of 33554432 bytes over loopback.

Client Server CC Pacing MTU Mean [ms] Min [ms] Max [ms]
gquiche gquiche 1504 585.6 ± 102.0 505.5 739.9
neqo gquiche reno on 1504 791.0 ± 114.3 740.9 1114.6
neqo gquiche reno 1504 771.3 ± 19.4 736.7 797.8
neqo gquiche cubic on 1504 796.4 ± 52.3 753.5 929.0
neqo gquiche cubic 1504 783.9 ± 72.3 723.8 977.9
msquic msquic 1504 151.3 ± 99.6 91.0 441.4
neqo msquic reno on 1504 224.7 ± 14.1 201.9 252.9
neqo msquic reno 1504 264.3 ± 85.6 199.2 460.9
neqo msquic cubic on 1504 267.6 ± 83.3 202.0 471.1
neqo msquic cubic 1504 213.5 ± 17.1 196.7 249.8
gquiche neqo reno on 1504 780.8 ± 188.1 583.4 1247.2
gquiche neqo reno 1504 745.9 ± 121.4 605.0 995.3
gquiche neqo cubic on 1504 753.7 ± 91.5 624.1 887.8
gquiche neqo cubic 1504 803.1 ± 133.4 590.9 992.5
msquic neqo reno on 1504 708.0 ± 13.8 687.4 732.2
msquic neqo reno 1504 712.1 ± 10.9 689.7 724.3
msquic neqo cubic on 1504 762.7 ± 156.2 692.6 1205.9
msquic neqo cubic 1504 721.5 ± 69.0 682.1 911.9
neqo neqo reno on 1504 646.7 ± 31.5 581.5 704.3
neqo neqo reno 1504 671.9 ± 85.7 543.0 874.1
neqo neqo cubic on 1504 620.7 ± 25.2 555.3 641.0
neqo neqo cubic 1504 646.5 ± 47.6 618.6 778.8

⬇️ Download logs

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.

It's possible that I'm confused. I'm sure that you'll work it out.

@mxinden mxinden enabled auto-merge November 26, 2024 08:12
@mxinden mxinden added this pull request to the merge queue Nov 26, 2024
Merged via the queue into mozilla:main with commit baae4f2 Nov 26, 2024
63 checks passed
@mxinden mxinden deleted the sent-packets-bench branch November 26, 2024 09:03
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.

2 participants