Skip to content

ci: Benchmark against google-quiche - #2218

Merged
larseggert merged 37 commits into
mozilla:mainfrom
larseggert:ci-google-quiche
Nov 14, 2024
Merged

larseggert merged 37 commits into
mozilla:mainfrom
larseggert:ci-google-quiche

Conversation

@larseggert

Copy link
Copy Markdown
Collaborator

No description provided.

@codecov

codecov Bot commented Nov 5, 2024 •

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.39%. Comparing base (f11ce06) to head (5b792f0).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2218   +/-   ##
=======================================
  Coverage   95.39%   95.39%           
=======================================
  Files         112      112           
  Lines       36449    36449           
=======================================
+ Hits        34769    34770    +1     
+ Misses       1680     1679    -1     

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

@github-actions

github-actions Bot commented Nov 5, 2024 •

Copy link
Copy Markdown
Contributor

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

@larseggert
larseggert marked this pull request as ready for review November 6, 2024 13:35
@github-actions

github-actions Bot commented Nov 11, 2024 •

Copy link
Copy Markdown
Contributor

Benchmark results

Performance differences relative to 978aa4e.

coalesce_acked_from_zero 1+1 entries: No change in performance detected.
       time:   [98.643 ns 98.925 ns 99.217 ns]
       change: [-0.5343% -0.0809% +0.3642%] (p = 0.73 > 0.05)

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

coalesce_acked_from_zero 3+1 entries: No change in performance detected.
       time:   [117.04 ns 117.39 ns 117.77 ns]
       change: [-0.3343% +0.1598% +0.6820%] (p = 0.54 > 0.05)

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

coalesce_acked_from_zero 10+1 entries: No change in performance detected.
       time:   [116.62 ns 117.15 ns 117.77 ns]
       change: [-0.9708% -0.1619% +0.5509%] (p = 0.70 > 0.05)

Found 14 outliers among 100 measurements (14.00%)
6 (6.00%) low severe
8 (8.00%) high severe

coalesce_acked_from_zero 1000+1 entries: No change in performance detected.
       time:   [97.227 ns 97.369 ns 97.535 ns]
       change: [-1.1854% -0.2263% +0.7491%] (p = 0.68 > 0.05)

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

RxStreamOrderer::inbound_frame(): No change in performance detected.
       time:   [112.30 ms 112.44 ms 112.66 ms]
       change: [-0.2098% +0.0251% +0.2825%] (p = 0.86 > 0.05)

Found 19 outliers among 100 measurements (19.00%)
8 (8.00%) low mild
10 (10.00%) high mild
1 (1.00%) high severe

transfer/pacing-false/varying-seeds: No change in performance detected.
       time:   [27.046 ms 28.128 ms 29.201 ms]
       change: [-3.5214% +1.6503% +7.6242%] (p = 0.56 > 0.05)
transfer/pacing-true/varying-seeds: Change within noise threshold.
       time:   [33.187 ms 34.610 ms 36.055 ms]
       change: [-12.740% -7.8303% -1.9586%] (p = 0.01 < 0.05)

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

transfer/pacing-false/same-seed: No change in performance detected.
       time:   [26.194 ms 27.140 ms 28.089 ms]
       change: [-1.1497% +3.5901% +8.4123%] (p = 0.14 > 0.05)
transfer/pacing-true/same-seed: No change in performance detected.
       time:   [42.033 ms 44.004 ms 45.983 ms]
       change: [-4.9051% +1.8604% +9.0924%] (p = 0.60 > 0.05)
1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client:
       time:   [912.04 ms 918.95 ms 925.93 ms]
       thrpt:  [108.00 MiB/s 108.82 MiB/s 109.64 MiB/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client:
       time:   [317.17 ms 320.25 ms 323.37 ms]
       thrpt:  [30.924 Kelem/s 31.225 Kelem/s 31.528 Kelem/s]
1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client:
       time:   [33.484 ms 33.688 ms 33.906 ms]
       thrpt:  [29.494  elem/s 29.684  elem/s 29.865  elem/s]
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe
1-conn/1-100mb-resp/mtu-1504 (aka. Upload)/client:
       time:   [1.6338 s 1.6506 s 1.6678 s]
       thrpt:  [59.959 MiB/s 60.585 MiB/s 61.206 MiB/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.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 563.2 ± 67.7 515.4 728.5
neqo gquiche reno on 1504 819.8 ± 80.0 762.5 974.0
neqo gquiche reno 1504 775.5 ± 9.7 764.0 794.6
neqo gquiche cubic on 1504 807.2 ± 70.6 719.6 940.4
neqo gquiche cubic 1504 760.3 ± 22.8 728.0 812.9
msquic msquic 1504 184.5 ± 91.2 98.2 355.5
neqo msquic reno on 1504 250.9 ± 73.6 209.0 432.4
neqo msquic reno 1504 241.2 ± 70.5 204.8 449.8
neqo msquic cubic on 1504 264.2 ± 91.6 211.8 457.4
neqo msquic cubic 1504 273.6 ± 96.0 211.8 458.4
gquiche neqo reno on 1504 751.0 ± 92.5 611.1 885.9
gquiche neqo reno 1504 793.3 ± 174.6 619.7 1177.1
gquiche neqo cubic on 1504 753.0 ± 91.7 632.2 935.7
gquiche neqo cubic 1504 792.8 ± 78.2 661.5 925.5
msquic neqo reno on 1504 750.1 ± 61.2 692.2 914.5
msquic neqo reno 1504 706.0 ± 12.6 692.6 733.8
msquic neqo cubic on 1504 736.9 ± 21.8 709.2 779.8
msquic neqo cubic 1504 722.6 ± 11.3 708.9 744.8
neqo neqo reno on 1504 685.3 ± 56.8 640.9 832.6
neqo neqo reno 1504 657.7 ± 16.4 616.6 673.9
neqo neqo cubic on 1504 650.3 ± 37.9 628.6 755.1
neqo neqo cubic 1504 635.7 ± 18.5 616.4 680.0

⬇️ Download logs

@mxinden mxinden left a comment •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

neqo to neqo with MTU of 1504 client/server transfer seems to have increased in this pull request. Is this noise or a regression?

Compare e.g. with #2216 or #2225.

Otherwise looks good to me. Ready to merge.

Comment thread .github/workflows/bench.yml Outdated
Comment on lines +138 to +163
for mtu in 1504 65536; do
for mtu in 1504; do # We used to measure 65536 here, too, but that's somewhat unrealistic.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How about removing the loop, given that it iterates at most once. Would reduce the level of indentation.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Can do. Was wondering if we wanted to put it back at some point.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Should I remove the 65536 MTU everywhere? Would cut down the time on benches.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I assume we will focus on Internet paths for now, thus I suggest removing 64k MTU entirely.

@larseggert

Copy link
Copy Markdown
Collaborator Author

neqo to neqo with MTU of 1504 client/server transfer seems to have increased in this pull request. Is this noise or a regression?

I don't know.

@mxinden

mxinden commented Nov 13, 2024

Copy link
Copy Markdown
Member

ja4 workflow

Bad push @larseggert?

@larseggert
larseggert enabled auto-merge November 14, 2024 10:40
@larseggert
larseggert disabled auto-merge November 14, 2024 14:27
@larseggert
larseggert merged commit bcc16fc into mozilla:main Nov 14, 2024
@larseggert
larseggert deleted the ci-google-quiche branch November 15, 2024 12:25
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