Repository navigation
Conversation
|
Maybe we just install it? |
Benchmark resultsPerformance differences relative to 847a598. 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: No change in performance detected. time: [693.78 ms 697.61 ms 701.42 ms]
thrpt: [142.57 MiB/s 143.35 MiB/s 144.14 MiB/s]
change:
time: [-1.5580% -0.7959% +0.0525%] (p = 0.05 > 0.05)
thrpt: [-0.0524% +0.8022% +1.5826%]
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: No change in performance detected. time: [352.25 ms 353.62 ms 354.98 ms]
thrpt: [28.171 Kelem/s 28.279 Kelem/s 28.389 Kelem/s]
change:
time: [-0.3659% +0.2205% +0.7982%] (p = 0.47 > 0.05)
thrpt: [-0.7918% -0.2200% +0.3673%]
1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected. time: [25.488 ms 25.633 ms 25.785 ms]
thrpt: [38.782 elem/s 39.012 elem/s 39.234 elem/s]
change:
time: [-1.3696% -0.5205% +0.2719%] (p = 0.22 > 0.05)
thrpt: [-0.2712% +0.5232% +1.3886%]
1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: 💚 Performance has improved. time: [1.7915 s 1.8133 s 1.8361 s]
thrpt: [54.463 MiB/s 55.147 MiB/s 55.820 MiB/s]
change:
time: [-8.3956% -6.6210% -4.8312%] (p = 0.00 < 0.05)
thrpt: [+5.0765% +7.0904% +9.1650%]
decode 4096 bytes, mask ff: No change in performance detected. time: [12.070 µs 12.100 µs 12.138 µs]
change: [-0.4081% -0.1094% +0.1954%] (p = 0.49 > 0.05)
decode 1048576 bytes, mask ff: No change in performance detected. time: [3.1272 ms 3.1348 ms 3.1442 ms]
change: [-0.7339% -0.2697% +0.1582%] (p = 0.26 > 0.05)
decode 4096 bytes, mask 7f: No change in performance detected. time: [20.168 µs 20.224 µs 20.286 µs]
change: [-0.3661% +0.0032% +0.4244%] (p = 0.98 > 0.05)
decode 1048576 bytes, mask 7f: No change in performance detected. time: [5.2471 ms 5.2602 ms 5.2751 ms]
change: [-0.3443% -0.0005% +0.3593%] (p = 1.00 > 0.05)
decode 4096 bytes, mask 3f: No change in performance detected. time: [7.0074 µs 7.0185 µs 7.0385 µs]
change: [-0.8880% -0.1196% +0.7775%] (p = 0.80 > 0.05)
decode 1048576 bytes, mask 3f: No change in performance detected. time: [1.7922 ms 1.7980 ms 1.8051 ms]
change: [-0.6316% -0.0830% +0.4601%] (p = 0.75 > 0.05)
1000 streams of 1 bytes/multistream: No change in performance detected. time: [25.576 ms 25.602 ms 25.628 ms]
change: [-0.0568% +0.0869% +0.2311%] (p = 0.23 > 0.05)
1000 streams of 1000 bytes/multistream: Change within noise threshold. time: [143.92 ms 143.96 ms 143.99 ms]
change: [+0.0182% +0.0530% +0.0891%] (p = 0.00 < 0.05)
coalesce_acked_from_zero 1+1 entries: No change in performance detected. time: [94.809 ns 95.147 ns 95.482 ns]
change: [-0.4014% +0.0250% +0.4502%] (p = 0.91 > 0.05)
coalesce_acked_from_zero 3+1 entries: No change in performance detected. time: [112.69 ns 113.02 ns 113.37 ns]
change: [-0.6434% -0.1758% +0.2601%] (p = 0.46 > 0.05)
coalesce_acked_from_zero 10+1 entries: No change in performance detected. time: [111.94 ns 112.29 ns 112.74 ns]
change: [-0.5043% +0.2238% +0.9630%] (p = 0.59 > 0.05)
coalesce_acked_from_zero 1000+1 entries: No change in performance detected. time: [92.961 ns 93.453 ns 93.987 ns]
change: [-0.5859% +0.4267% +1.4132%] (p = 0.41 > 0.05)
RxStreamOrderer::inbound_frame(): Change within noise threshold. time: [117.33 ms 117.38 ms 117.44 ms]
change: [+0.3764% +0.4410% +0.5103%] (p = 0.00 < 0.05)
SentPackets::take_ranges: No change in performance detected. time: [8.2627 µs 8.5307 µs 8.7854 µs]
change: [-3.2255% -0.6526% +2.0184%] (p = 0.63 > 0.05)
transfer/pacing-false/varying-seeds: Change within noise threshold. time: [35.824 ms 35.885 ms 35.945 ms]
change: [+0.7514% +1.0002% +1.2374%] (p = 0.00 < 0.05)
transfer/pacing-true/varying-seeds: Change within noise threshold. time: [36.695 ms 36.799 ms 36.903 ms]
change: [+0.1973% +0.6341% +1.0569%] (p = 0.00 < 0.05)
transfer/pacing-false/same-seed: Change within noise threshold. time: [35.490 ms 35.542 ms 35.597 ms]
change: [+0.5478% +0.7464% +0.9507%] (p = 0.00 < 0.05)
transfer/pacing-true/same-seed: Change within noise threshold. time: [37.377 ms 37.444 ms 37.512 ms]
change: [+0.2418% +0.4769% +0.7140%] (p = 0.00 < 0.05)
Client/server transfer resultsPerformance differences relative to 847a598. Transfer of 33554432 bytes over loopback, 30 runs. All unit-less numbers are in milliseconds.
|
|
This is now stuck on actions/runner-images#14085 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2591 +/- ##
==========================================
- Coverage 94.35% 94.25% -0.11%
==========================================
Files 127 131 +4
Lines 38806 39136 +330
Branches 38806 39136 +330
==========================================
+ Hits 36614 36886 +272
- Misses 1357 1405 +48
- Partials 835 845 +10
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
There is a new version of the Win11 ARM image, but it's still shipping with the amd64 llvm toolchain. |
e061d67 to
04246c6
Compare
|
Now blocked because NSPR/NSS don't build on Windows/ARM. Sigh. |
|
| Branch | ci-windows-arm |
| Testbed | On-prem |
🚨 1 Alert
| Iteration | Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|---|
| 3 | neqo-msquic-cubic | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 159.62 ms(+1.56%)Baseline: 157.16 ms | 159.08 ms (100.34%) |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| google-neqo-cubic | 📈 view plot 🚷 view threshold | 274.28 ms(-1.85%)Baseline: 279.44 ms | 286.11 ms (95.87%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| msquic-neqo-cubic | 📈 view plot 🚷 view threshold | 216.72 ms(+4.04%)Baseline: 208.30 ms | 240.34 ms (90.17%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-google-cubic | 📈 view plot 🚷 view threshold | 743.71 ms(-3.06%)Baseline: 767.22 ms | 789.20 ms (94.24%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-msquic-cubic | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 159.62 ms(+1.56%)Baseline: 157.16 ms | 159.08 ms (100.34%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-neqo-cubic-nopacing | 📈 view plot 🚷 view threshold | 96.69 ms(+0.34%)Baseline: 96.36 ms | 98.23 ms (98.43%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-neqo-cubic | 📈 view plot 🚷 view threshold | 98.32 ms(+0.84%)Baseline: 97.50 ms | 99.81 ms (98.51%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-neqo-reno-nopacing | 📈 view plot 🚷 view threshold | 97.36 ms(+0.68%)Baseline: 96.71 ms | 99.24 ms (98.11%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-neqo-reno | 📈 view plot 🚷 view threshold | 96.15 ms(-1.38%)Baseline: 97.49 ms | 99.65 ms (96.48%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-quiche-cubic | 📈 view plot 🚷 view threshold | 193.99 ms(+0.81%)Baseline: 192.43 ms | 195.22 ms (99.37%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo-s2n-cubic | 📈 view plot 🚷 view threshold | 222.45 ms(+0.80%)Baseline: 220.67 ms | 224.26 ms (99.19%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| quiche-neqo-cubic | 📈 view plot 🚷 view threshold | 153.94 ms(+0.10%)Baseline: 153.78 ms | 156.51 ms (98.36%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| s2n-neqo-cubic | 📈 view plot 🚷 view threshold | 173.14 ms(-0.40%)Baseline: 173.84 ms | 177.40 ms (97.60%) |
|
| Branch | ci-windows-arm |
| Testbed | On-prem |
🚨 2 Alerts
| Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|
| decode 1048576 bytes, mask 3f | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 3.19 ms(+82.82%)Baseline: 1.75 ms | 2.44 ms (130.78%) |
| decode 4096 bytes, mask 3f | Latency microseconds (µs) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 12.52 µs(+72.89%)Baseline: 7.24 µs | 10.83 µs (115.69%) |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result nanoseconds (ns) (Result Δ%) | Upper Boundary nanoseconds (ns) (Limit %) |
|---|---|---|---|
| 1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client | 📈 view plot 🚷 view threshold | 206,750,000.00 ns(-0.50%)Baseline: 207,784,721.19 ns | 216,955,939.90 ns (95.30%) |
| 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client | 📈 view plot 🚷 view threshold | 198,860,000.00 ns(-1.56%)Baseline: 202,014,256.51 ns | 211,741,996.80 ns (93.92%) |
| 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client | 📈 view plot 🚷 view threshold | 38,524,000.00 ns(+12.73%)Baseline: 34,174,594.80 ns | 46,114,933.30 ns (83.54%) |
| 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client | 📈 view plot 🚷 view threshold | 285,120,000.00 ns(-1.32%)Baseline: 288,926,189.59 ns | 302,132,017.61 ns (94.37%) |
| 1-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 118,870,000.00 ns(+0.05%)Baseline: 118,816,152.42 ns | 120,511,375.01 ns (98.64%) |
| 1-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 581,520.00 ns(-1.41%)Baseline: 589,838.29 ns | 610,539.70 ns (95.25%) |
| 1000-streams/each-1-bytes/simulated-time | 📈 view plot 🚷 view threshold | 2,331,900,000.00 ns(-75.42%)Baseline: 9,488,156,877.32 ns | 24,136,002,039.77 ns (9.66%) |
| 1000-streams/each-1-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 12,414,000.00 ns(-7.05%)Baseline: 13,355,697.03 ns | 15,178,786.71 ns (81.79%) |
| 1000-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 16,396,000,000.00 ns(-8.06%)Baseline: 17,833,628,252.79 ns | 20,853,710,552.29 ns (78.62%) |
| 1000-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 50,039,000.00 ns(-0.94%)Baseline: 50,516,011.15 ns | 55,723,293.42 ns (89.80%) |
| RxStreamOrderer::inbound_frame() | 📈 view plot 🚷 view threshold | 110,250,000.00 ns(+0.47%)Baseline: 109,735,743.49 ns | 111,385,511.00 ns (98.98%) |
| coalesce_acked_from_zero 1+1 entries | 📈 view plot 🚷 view threshold | 89.68 ns(+0.64%)Baseline: 89.11 ns | 90.41 ns (99.19%) |
| coalesce_acked_from_zero 10+1 entries | 📈 view plot 🚷 view threshold | 105.49 ns(-0.52%)Baseline: 106.04 ns | 107.11 ns (98.49%) |
| coalesce_acked_from_zero 1000+1 entries | 📈 view plot 🚷 view threshold | 91.69 ns(+0.86%)Baseline: 90.91 ns | 95.26 ns (96.25%) |
| coalesce_acked_from_zero 3+1 entries | 📈 view plot 🚷 view threshold | 106.21 ns(-0.30%)Baseline: 106.53 ns | 107.53 ns (98.77%) |
| decode 1048576 bytes, mask 3f | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 3,193,100.00 ns(+82.82%)Baseline: 1,746,544.80 ns | 2,441,571.23 ns (130.78%) |
| decode 1048576 bytes, mask 7f | 📈 view plot 🚷 view threshold | 2,598,700.00 ns(-47.13%)Baseline: 4,914,819.33 ns | 6,308,615.54 ns (41.19%) |
| decode 1048576 bytes, mask ff | 📈 view plot 🚷 view threshold | 1,842,600.00 ns(-37.58%)Baseline: 2,951,985.69 ns | 3,616,803.60 ns (50.95%) |
| decode 4096 bytes, mask 3f | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 12,524.00 ns(+72.89%)Baseline: 7,243.95 ns | 10,825.19 ns (115.69%) |
| decode 4096 bytes, mask 7f | 📈 view plot 🚷 view threshold | 10,158.00 ns(-47.05%)Baseline: 19,185.10 ns | 24,634.26 ns (41.24%) |
| decode 4096 bytes, mask ff | 📈 view plot 🚷 view threshold | 7,237.30 ns(-34.91%)Baseline: 11,118.22 ns | 13,650.88 ns (53.02%) |
| sent::Packets::take_ranges | 📈 view plot 🚷 view threshold | 4,533.90 ns(-3.19%)Baseline: 4,683.36 ns | 4,925.01 ns (92.06%) |
| transfer/pacing-false/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 23,941,000,000.00 ns(-5.28%)Baseline: 25,274,386,194.03 ns | 26,198,006,728.55 ns (91.38%) |
| transfer/pacing-false/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,501,000.00 ns(-7.16%)Baseline: 25,313,871.27 ns | 27,092,530.23 ns (86.74%) |
| transfer/pacing-false/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 23,941,000,000.00 ns(-4.66%)Baseline: 25,111,589,552.24 ns | 25,778,572,951.39 ns (92.87%) |
| transfer/pacing-false/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,483,000.00 ns(-7.76%)Baseline: 25,458,761.19 ns | 27,322,591.82 ns (85.95%) |
| transfer/pacing-true/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 23,676,000,000.00 ns(-6.52%)Baseline: 25,326,604,477.61 ns | 26,422,725,793.16 ns (89.60%) |
| transfer/pacing-true/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,722,000.00 ns(-10.40%)Baseline: 26,474,578.36 ns | 28,853,597.15 ns (82.22%) |
| transfer/pacing-true/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 23,676,000,000.00 ns(-4.99%)Baseline: 24,920,208,955.22 ns | 25,629,840,254.81 ns (92.38%) |
| transfer/pacing-true/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 23,904,000.00 ns(-7.91%)Baseline: 25,957,063.43 ns | 27,916,652.27 ns (85.63%) |
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for Windows ARM64 runners in GitHub Actions CI by introducing the windows-11-arm runner to the workflow matrices. The change enables cross-platform testing on the newly available Windows ARM64 hosted runners from GitHub.
- Adds
windows-11-armto the OS matrix across multiple workflow files - Configures MSVC toolchain for ARM64 architecture support
- Updates NSS build configuration to handle ARM64-specific environment variables
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/firefox.yml | Adds windows-11-arm to the OS matrix for Firefox builds |
| .github/workflows/clippy.yml | Adds windows-11-arm to the OS matrix for Clippy checks |
| .github/workflows/check.yml | Adds windows-11-arm to matrix and includes ARM release builds |
| .github/actions/rust/action.yml | Configures MSVC for ARM64 cross-compilation |
| .github/actions/nss/action.yml | Updates NSS build with ARM64 support and environment configuration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to 836046b. neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
|
@Not-Nik have you managed to get NSS to compile on Windows/ARM in the meantime? Any pointers? |
|
Not any further than we got in previous discussions, unfortunately. |
131bfed to
bcd225d
Compare
Merging this PR will not alter performance
Comparing Footnotes
|
896529c to
831ded1
Compare
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Lars Eggert <lars@eggert.org>
b13e3d8 to
5428a28
Compare
|
|
||
| - name: Install Rust | ||
| uses: dtolnay/rust-toolchain@efa25f7f19611383d5b0ccf2d1c8914531636bf9 # zizmor: ignore[stale-action-refs] | ||
| with: |
Check notice
Code scanning / zizmor
action functionality is already included by the runner Note
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
|
|
Most of this PR is moving to mozilla/actions#33 |
GitHub Actions now provide Windows ARM64 runners:
https://github.blog/changelog/2025-04-14-windows-arm64-hosted-runners-now-available-in-public-preview/
Related: https://bugzilla.mozilla.org/show_bug.cgi?id=1931918