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: Don't initialize regex on each call to stream_readable #1915

Merged
merged 1 commit into from
May 27, 2024

Conversation

larseggert
Copy link
Collaborator

Each call takes ~1ms.

Copy link

Failed Interop Tests

QUIC Interop Runner, client vs. server

All results

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

Unsupported Interop Tests

QUIC Interop Runner, client vs. server

Copy link
Collaborator

@mxinden mxinden left a comment

Choose a reason for hiding this comment

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

@larseggert larseggert added this pull request to the merge queue May 27, 2024
Copy link

Benchmark results

Performance differences relative to ea1b2bb.

coalesce_acked_from_zero 1+1 entries: 💔 Performance has regressed.
       time:   [195.49 ns 195.98 ns 196.51 ns]
       change: [+1.7379% +2.1198% +2.5532%] (p = 0.00 < 0.05)
Found 19 outliers among 100 measurements (19.00%)
  7 (7.00%) low mild
  5 (5.00%) high mild
  7 (7.00%) high severe
coalesce_acked_from_zero 3+1 entries: Change within noise threshold.
       time:   [238.40 ns 238.86 ns 239.38 ns]
       change: [+0.9565% +1.3417% +1.7560%] (p = 0.00 < 0.05)
Found 11 outliers among 100 measurements (11.00%)
  11 (11.00%) high severe
coalesce_acked_from_zero 10+1 entries: Change within noise threshold.
       time:   [237.98 ns 238.61 ns 239.43 ns]
       change: [+0.8643% +1.4298% +2.0239%] (p = 0.00 < 0.05)
Found 7 outliers among 100 measurements (7.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  5 (5.00%) high severe
coalesce_acked_from_zero 1000+1 entries: 💔 Performance has regressed.
       time:   [219.03 ns 219.18 ns 219.36 ns]
       change: [+1.2190% +1.9219% +2.6838%] (p = 0.00 < 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:   [118.66 ms 118.73 ms 118.80 ms]
       change: [-0.0337% +0.0937% +0.2196%] (p = 0.15 > 0.05)
Found 6 outliers among 100 measurements (6.00%)
  6 (6.00%) high mild
transfer/Run multiple transfers with varying seeds: Change within noise threshold.
       time:   [118.68 ms 118.93 ms 119.19 ms]
       thrpt:  [33.561 MiB/s 33.632 MiB/s 33.703 MiB/s]
change:
       time:   [-1.3785% -1.0728% -0.7751%] (p = 0.00 < 0.05)
       thrpt:  [+0.7812% +1.0845% +1.3978%]

transfer/Run multiple transfers with the same seed
time: [119.24 ms 119.48 ms 119.72 ms]
thrpt: [33.412 MiB/s 33.478 MiB/s 33.547 MiB/s]
change:
time: [-0.5107% -0.2430% +0.0296%] (p = 0.08 > 0.05)
thrpt: [-0.0296% +0.2435% +0.5133%]
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
3 (3.00%) low mild

1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.
       time:   [1.1278 s 1.1389 s 1.1521 s]
       thrpt:  [86.800 MiB/s 87.802 MiB/s 88.672 MiB/s]
change:
       time:   [-0.1269% +2.6364% +5.4996%] (p = 0.09 > 0.05)
       thrpt:  [-5.2129% -2.5687% +0.1271%]
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high mild
1-conn/10_000-parallel-1b-resp (aka. RPS)/client: Change within noise threshold.
       time:   [393.97 ms 397.88 ms 401.78 ms]
       thrpt:  [24.889 Kelem/s 25.133 Kelem/s 25.383 Kelem/s]
change:
       time:   [+0.4574% +1.6950% +2.9522%] (p = 0.01 < 0.05)
       thrpt:  [-2.8676% -1.6667% -0.4553%]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.
       time:   [41.733 ms 41.848 ms 41.983 ms]
       thrpt:  [23.819  elem/s 23.896  elem/s 23.962  elem/s]
change:
       time:   [-0.4827% -0.0753% +0.3513%] (p = 0.73 > 0.05)
       thrpt:  [-0.3501% +0.0753% +0.4851%]
Found 26 outliers among 100 measurements (26.00%)
  3 (3.00%) low severe
  17 (17.00%) low mild
  4 (4.00%) high mild
  2 (2.00%) high severe

Client/server transfer results

Transfer of 33554432 bytes over loopback.

Client Server CC Pacing Mean [ms] Min [ms] Max [ms] Relative
msquic msquic 144.1 ± 48.8 103.1 265.7 1.00
neqo msquic reno on 270.9 ± 22.6 252.9 334.9 1.00
neqo msquic reno 267.7 ± 10.2 252.9 292.0 1.00
neqo msquic cubic on 263.5 ± 7.7 254.4 282.8 1.00
neqo msquic cubic 274.3 ± 14.8 258.8 301.1 1.00
msquic neqo reno on 935.5 ± 17.1 909.7 962.3 1.00
msquic neqo reno 922.3 ± 14.8 903.6 944.3 1.00
msquic neqo cubic on 906.2 ± 8.3 894.7 920.0 1.00
msquic neqo cubic 884.6 ± 10.0 872.7 898.9 1.00
neqo neqo reno on 937.0 ± 19.1 918.3 980.2 1.00
neqo neqo reno 930.9 ± 13.9 904.3 953.4 1.00
neqo neqo cubic on 885.9 ± 11.6 865.4 903.8 1.00
neqo neqo cubic 893.6 ± 12.1 878.0 908.3 1.00

⬇️ Download logs

Merged via the queue into mozilla:main with commit 0004f9a May 27, 2024
53 checks passed
@larseggert larseggert deleted the fix-regex branch May 27, 2024 14:50
Copy link

Firefox builds for this PR

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

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.

3 participants