-
Notifications
You must be signed in to change notification settings - Fork 148
feat: Try aws-lc-rs
#3084
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 aws-lc-rs
#3084
Conversation
|
| Branch | feat-awslc |
| Testbed | On-prem |
🚨 2 Alerts
| Iteration | Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|---|
| 2 | neqo vs. google (cubic, paced) | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 777.87 ms(+2.68%)Baseline: 757.53 ms | 765.07 ms (101.67%) |
| 10 | quiche vs. neqo (cubic, paced) | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 163.45 ms(+6.79%)Baseline: 153.06 ms | 158.85 ms (102.90%) |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| google vs. neqo (cubic, paced) | 📈 view plot 🚷 view threshold | 280.39 ms(+0.97%)Baseline: 277.70 ms | 280.40 ms (99.99%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| msquic vs. neqo (cubic, paced) | 📈 view plot 🚷 view threshold | 184.18 ms(-6.38%)Baseline: 196.74 ms | 233.70 ms (78.81%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. google (cubic, paced) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 777.87 ms(+2.68%)Baseline: 757.53 ms | 765.07 ms (101.67%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. msquic (cubic, paced) | 📈 view plot 🚷 view threshold | 156.61 ms(-0.68%)Baseline: 157.68 ms | 160.70 ms (97.45%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. neqo (cubic) | 📈 view plot 🚷 view threshold | 88.37 ms(-2.36%)Baseline: 90.50 ms | 94.53 ms (93.49%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. neqo (cubic, paced) | 📈 view plot 🚷 view threshold | 89.34 ms(-2.76%)Baseline: 91.88 ms | 95.75 ms (93.31%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. neqo (reno) | 📈 view plot 🚷 view threshold | 86.19 ms(-4.77%)Baseline: 90.51 ms | 94.31 ms (91.39%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. neqo (reno, paced) | 📈 view plot 🚷 view threshold | 88.34 ms(-3.79%)Baseline: 91.82 ms | 95.69 ms (92.31%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. quiche (cubic, paced) | 📈 view plot 🚷 view threshold | 193.82 ms(+0.06%)Baseline: 193.70 ms | 197.10 ms (98.34%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| neqo vs. s2n (cubic, paced) | 📈 view plot 🚷 view threshold | 220.24 ms(-0.28%)Baseline: 220.86 ms | 223.66 ms (98.47%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| quiche vs. neqo (cubic, paced) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 163.45 ms(+6.79%)Baseline: 153.06 ms | 158.85 ms (102.90%) |
| Benchmark | Latency | Benchmark Result milliseconds (ms) (Result Δ%) | Upper Boundary milliseconds (ms) (Limit %) |
|---|---|---|---|
| s2n vs. neqo (cubic, paced) | 📈 view plot 🚷 view threshold | 175.41 ms(+0.70%)Baseline: 174.20 ms | 178.32 ms (98.37%) |
|
| Branch | feat-awslc |
| Testbed | On-prem |
🚨 1 Alert
| Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Upper Boundary (Limit %) |
|---|---|---|---|---|
| 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client | Latency milliseconds (ms) | 📈 plot 🚷 threshold 🚨 alert (🔔) | 38.64 ms(+33.77%)Baseline: 28.89 ms | 34.08 ms (113.40%) |
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 | 181,750,000.00 ns(-12.23%)Baseline: 207,083,790.32 ns | 218,305,562.90 ns (83.25%) |
| 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client | 📈 view plot 🚷 view threshold | 178,970,000.00 ns(-11.01%)Baseline: 201,111,814.52 ns | 213,064,266.42 ns (84.00%) |
| 1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 38,643,000.00 ns(+33.77%)Baseline: 28,887,056.45 ns | 34,077,743.55 ns (113.40%) |
| 1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client | 📈 view plot 🚷 view threshold | 283,920,000.00 ns(-2.90%)Baseline: 292,386,330.65 ns | 305,742,342.57 ns (92.86%) |
| 1-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 118,940,000.00 ns(+0.35%)Baseline: 118,525,403.23 ns | 120,834,754.60 ns (98.43%) |
| 1-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 555,150.00 ns(-6.70%)Baseline: 594,990.60 ns | 620,055.30 ns (89.53%) |
| 1000-streams/each-1-bytes/simulated-time | 📈 view plot 🚷 view threshold | 15,000,000,000.00 ns(+0.05%)Baseline: 14,992,854,838.71 ns | 15,010,868,042.47 ns (99.93%) |
| 1000-streams/each-1-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 13,092,000.00 ns(-6.97%)Baseline: 14,073,250.00 ns | 14,930,957.88 ns (87.68%) |
| 1000-streams/each-1000-bytes/simulated-time | 📈 view plot 🚷 view threshold | 19,035,000,000.00 ns(+0.45%)Baseline: 18,949,052,419.35 ns | 19,225,698,185.30 ns (99.01%) |
| 1000-streams/each-1000-bytes/wallclock-time | 📈 view plot 🚷 view threshold | 43,779,000.00 ns(-14.56%)Baseline: 51,236,927.42 ns | 58,009,559.92 ns (75.47%) |
| RxStreamOrderer::inbound_frame() | 📈 view plot 🚷 view threshold | 109,480,000.00 ns(-0.17%)Baseline: 109,663,467.74 ns | 111,737,461.12 ns (97.98%) |
| coalesce_acked_from_zero 1+1 entries | 📈 view plot 🚷 view threshold | 88.39 ns(-0.25%)Baseline: 88.60 ns | 89.25 ns (99.03%) |
| coalesce_acked_from_zero 10+1 entries | 📈 view plot 🚷 view threshold | 106.08 ns(+0.02%)Baseline: 106.06 ns | 107.07 ns (99.07%) |
| coalesce_acked_from_zero 1000+1 entries | 📈 view plot 🚷 view threshold | 89.12 ns(-0.75%)Baseline: 89.79 ns | 94.10 ns (94.71%) |
| coalesce_acked_from_zero 3+1 entries | 📈 view plot 🚷 view threshold | 106.29 ns(-0.25%)Baseline: 106.56 ns | 107.55 ns (98.83%) |
| decode 1048576 bytes, mask 3f | 📈 view plot 🚷 view threshold | 1,757,700.00 ns(+8.44%)Baseline: 1,620,876.61 ns | 1,772,934.62 ns (99.14%) |
| decode 1048576 bytes, mask 7f | 📈 view plot 🚷 view threshold | 5,096,500.00 ns(+0.63%)Baseline: 5,064,389.92 ns | 5,105,625.31 ns (99.82%) |
| decode 1048576 bytes, mask ff | 📈 view plot 🚷 view threshold | 3,015,200.00 ns(-0.47%)Baseline: 3,029,384.27 ns | 3,046,937.36 ns (98.96%) |
| decode 4096 bytes, mask 3f | 📈 view plot 🚷 view threshold | 5,552.00 ns(-29.30%)Baseline: 7,853.45 ns | 10,216.55 ns (54.34%) |
| decode 4096 bytes, mask 7f | 📈 view plot 🚷 view threshold | 19,425.00 ns(-2.44%)Baseline: 19,910.05 ns | 20,433.51 ns (95.06%) |
| decode 4096 bytes, mask ff | 📈 view plot 🚷 view threshold | 10,617.00 ns(-8.03%)Baseline: 11,544.47 ns | 12,494.85 ns (84.97%) |
| sent::Packets::take_ranges | 📈 view plot 🚷 view threshold | 4,668.00 ns(-1.56%)Baseline: 4,742.12 ns | 4,977.14 ns (93.79%) |
| transfer/pacing-false/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 25,710,000,000.00 ns(+1.30%)Baseline: 25,381,097,560.98 ns | 26,023,886,538.47 ns (98.79%) |
| transfer/pacing-false/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 21,883,000.00 ns(-15.56%)Baseline: 25,914,174.80 ns | 27,135,721.46 ns (80.64%) |
| transfer/pacing-false/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 25,146,000,000.00 ns(-0.10%)Baseline: 25,171,231,707.32 ns | 25,219,261,890.04 ns (99.71%) |
| transfer/pacing-false/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 21,676,000.00 ns(-16.69%)Baseline: 26,018,410.57 ns | 27,625,070.50 ns (78.46%) |
| transfer/pacing-true/same-seed/simulated-time/run | 📈 view plot 🚷 view threshold | 25,675,000,000.00 ns(+0.20%)Baseline: 25,623,719,512.20 ns | 25,723,939,299.01 ns (99.81%) |
| transfer/pacing-true/same-seed/wallclock-time/run | 📈 view plot 🚷 view threshold | 22,903,000.00 ns(-15.97%)Baseline: 27,255,398.37 ns | 28,785,942.17 ns (79.56%) |
| transfer/pacing-true/varying-seeds/simulated-time/run | 📈 view plot 🚷 view threshold | 25,018,000,000.00 ns(+0.10%)Baseline: 24,993,873,983.74 ns | 25,043,580,728.72 ns (99.90%) |
| transfer/pacing-true/varying-seeds/wallclock-time/run | 📈 view plot 🚷 view threshold | 22,361,000.00 ns(-15.71%)Baseline: 26,528,308.94 ns | 28,194,329.63 ns (79.31%) |
Found as part of mozilla#3084. `--all-targets` also includes `build.rs`, which merges all, even incompatible, features. Also use `--no-dev-deps` as recommended at https://github.com/taiki-e/cargo-hack#--feature-powerset.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3084 +/- ##
==========================================
- Coverage 93.42% 92.97% -0.45%
==========================================
Files 124 124
Lines 36045 35924 -121
Branches 36045 35924 -121
==========================================
- Hits 33674 33401 -273
- Misses 1525 1708 +183
+ Partials 846 815 -31
|
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to ab40a79. 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
|
Client/server transfer resultsPerformance differences relative to ab40a79. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Benchmark resultsPerformance differences relative to ab40a79. 1-conn/1-100mb-resp/mtu-1504 (aka. Download)/client: 💚 Performance has improved. time: [178.66 ms 178.97 ms 179.27 ms]
thrpt: [557.82 MiB/s 558.77 MiB/s 559.72 MiB/s]
change:
time: [−9.4391% −9.2131% −8.9886%] (p = 0.00 < 0.05)
thrpt: [+9.8763% +10.148% +10.423%]
1-conn/10_000-parallel-1b-resp/mtu-1504 (aka. RPS)/client: 💚 Performance has improved. time: [281.81 ms 283.92 ms 286.10 ms]
thrpt: [34.953 Kelem/s 35.221 Kelem/s 35.485 Kelem/s]
change:
time: [−3.5156% −2.6486% −1.7302%] (p = 0.00 < 0.05)
thrpt: [+1.7607% +2.7207% +3.6436%]
1-conn/1-1b-resp/mtu-1504 (aka. HPS)/client: No change in performance detected. time: [38.460 ms 38.643 ms 38.848 ms]
thrpt: [25.742 B/s 25.878 B/s 26.001 B/s]
change:
time: [−0.7225% −0.0777% +0.5529%] (p = 0.81 > 0.05)
thrpt: [−0.5498% +0.0777% +0.7277%]
1-conn/1-100mb-req/mtu-1504 (aka. Upload)/client: 💚 Performance has improved. time: [181.46 ms 181.75 ms 182.05 ms]
thrpt: [549.29 MiB/s 550.22 MiB/s 551.10 MiB/s]
change:
time: [−11.971% −11.780% −11.590%] (p = 0.00 < 0.05)
thrpt: [+13.109% +13.353% +13.598%]
decode 4096 bytes, mask ff: Change within noise threshold. time: [10.593 µs 10.617 µs 10.647 µs]
change: [−1.0113% −0.5101% −0.0613%] (p = 0.03 < 0.05)
decode 1048576 bytes, mask ff: No change in performance detected. time: [3.0057 ms 3.0152 ms 3.0265 ms]
change: [−0.9409% −0.2393% +0.3642%] (p = 0.52 > 0.05)
decode 4096 bytes, mask 7f: No change in performance detected. time: [19.369 µs 19.425 µs 19.487 µs]
change: [−0.0075% +0.2917% +0.6164%] (p = 0.08 > 0.05)
decode 1048576 bytes, mask 7f: No change in performance detected. time: [5.0851 ms 5.0965 ms 5.1094 ms]
change: [−0.3758% −0.0252% +0.3137%] (p = 0.90 > 0.05)
decode 4096 bytes, mask 3f: No change in performance detected. time: [5.5249 µs 5.5520 µs 5.5850 µs]
change: [−3.6308% −1.5133% +0.0154%] (p = 0.12 > 0.05)
decode 1048576 bytes, mask 3f: No change in performance detected. time: [1.7575 ms 1.7577 ms 1.7578 ms]
change: [−0.0264% −0.0119% +0.0012%] (p = 0.10 > 0.05)
1-streams/each-1000-bytes/wallclock-time: 💚 Performance has improved. time: [552.88 µs 555.15 µs 557.88 µs]
change: [−5.6024% −5.1221% −4.6216%] (p = 0.00 < 0.05)
1000-streams/each-1-bytes/wallclock-time: 💚 Performance has improved. time: [13.069 ms 13.092 ms 13.116 ms]
change: [−4.2705% −3.9262% −3.6232%] (p = 0.00 < 0.05)
1000-streams/each-1-bytes/simulated-time: No change in performance detected. time: [14.987 s 15.000 s 15.012 s]
thrpt: [66.612 B/s 66.668 B/s 66.725 B/s]
change:
time: [−0.1470% −0.0335% +0.0918%] (p = 0.57 > 0.05)
thrpt: [−0.0917% +0.0336% +0.1472%]
1000-streams/each-1000-bytes/wallclock-time: 💚 Performance has improved. time: [43.674 ms 43.779 ms 43.889 ms]
change: [−9.8125% −9.4192% −9.0034%] (p = 0.00 < 0.05)
coalesce_acked_from_zero 1+1 entries: No change in performance detected. time: [88.067 ns 88.387 ns 88.704 ns]
change: [−0.6546% −0.0162% +0.7254%] (p = 0.96 > 0.05)
coalesce_acked_from_zero 3+1 entries: No change in performance detected. time: [105.93 ns 106.29 ns 106.67 ns]
change: [−0.5187% −0.1651% +0.2041%] (p = 0.37 > 0.05)
coalesce_acked_from_zero 10+1 entries: No change in performance detected. time: [105.55 ns 106.08 ns 106.67 ns]
change: [−0.2627% +0.1582% +0.6015%] (p = 0.48 > 0.05)
coalesce_acked_from_zero 1000+1 entries: No change in performance detected. time: [88.995 ns 89.120 ns 89.280 ns]
change: [−1.4807% −0.3144% +0.8082%] (p = 0.61 > 0.05)
RxStreamOrderer::inbound_frame(): No change in performance detected. time: [109.28 ms 109.48 ms 109.80 ms]
change: [−0.4839% −0.2461% +0.0679%] (p = 0.07 > 0.05)
sent::Packets::take_ranges: No change in performance detected. time: [4.5416 µs 4.6680 µs 4.7936 µs]
change: [−3.9428% −0.5955% +2.6832%] (p = 0.74 > 0.05)
transfer/pacing-false/varying-seeds/wallclock-time/run: 💚 Performance has improved. time: [21.650 ms 21.676 ms 21.702 ms]
change: [−15.193% −14.974% −14.773%] (p = 0.00 < 0.05)
transfer/pacing-false/varying-seeds/simulated-time/run: Change within noise threshold. time: [25.111 s 25.146 s 25.182 s]
thrpt: [162.66 KiB/s 162.89 KiB/s 163.11 KiB/s]
change:
time: [−0.3999% −0.1991% −0.0156%] (p = 0.04 < 0.05)
thrpt: [+0.0156% +0.1995% +0.4015%]
transfer/pacing-true/varying-seeds/wallclock-time/run: 💚 Performance has improved. time: [22.319 ms 22.361 ms 22.402 ms]
change: [−14.329% −14.013% −13.714%] (p = 0.00 < 0.05)
transfer/pacing-true/varying-seeds/simulated-time/run: No change in performance detected. time: [24.980 s 25.018 s 25.056 s]
thrpt: [163.48 KiB/s 163.72 KiB/s 163.97 KiB/s]
change:
time: [−0.1329% +0.0876% +0.3098%] (p = 0.44 > 0.05)
thrpt: [−0.3089% −0.0876% +0.1331%]
transfer/pacing-false/same-seed/wallclock-time/run: 💚 Performance has improved. time: [21.870 ms 21.883 ms 21.897 ms]
change: [−14.714% −14.632% −14.551%] (p = 0.00 < 0.05)
transfer/pacing-false/same-seed/simulated-time/run: No change in performance detected. time: [25.710 s 25.710 s 25.710 s]
thrpt: [159.31 KiB/s 159.31 KiB/s 159.31 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000%] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000%]
transfer/pacing-true/same-seed/wallclock-time/run: 💚 Performance has improved. time: [22.887 ms 22.903 ms 22.919 ms]
change: [−13.066% −12.979% −12.894%] (p = 0.00 < 0.05)
transfer/pacing-true/same-seed/simulated-time/run: No change in performance detected. time: [25.675 s 25.675 s 25.675 s]
thrpt: [159.53 KiB/s 159.53 KiB/s 159.53 KiB/s]
change:
time: [+0.0000% +0.0000% +0.0000%] (p = NaN > 0.05)
thrpt: [+0.0000% +0.0000% +0.0000%]
Download data for |
Found as part of #3084. `--all-targets` also includes `build.rs`, which merges all, even incompatible, features. Also use `--no-dev-deps` as recommended at https://github.com/taiki-e/cargo-hack#--feature-powerset.
|
This was a useful exercise, but we were never going to go that route. |
No description provided.