-
Notifications
You must be signed in to change notification settings - Fork 151
[Version Bump] 3.33.0 #7862
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
[Version Bump] 3.33.0 #7862
Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (7862) and master.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Bailout | ||||
| duration | 196.34 ± (196.07 - 196.67) ms | 210.24 ± (209.55 - 210.47) ms | +7.1% | ❌⬆️ |
Full Metrics Comparison
FakeDbCommand
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 74.65 ± (74.73 - 75.44) ms | 76.28 ± (76.17 - 77.02) ms | +2.2% | ✅⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 78.86 ± (78.59 - 79.18) ms | 80.80 ± (80.78 - 81.64) ms | +2.5% | ✅⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1056.80 ± (1061.21 - 1072.27) ms | 1078.35 ± (1078.68 - 1090.15) ms | +2.0% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 22.96 ± (22.87 - 23.05) ms | 23.04 ± (22.95 - 23.13) ms | +0.4% | ✅⬆️ |
| process.time_to_main_ms | 87.69 ± (87.30 - 88.09) ms | 88.70 ± (88.17 - 89.23) ms | +1.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.94 ± (10.94 - 10.94) MB | 10.93 ± (10.93 - 10.94) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 12 ± (12 - 12) | 12 ± (12 - 12) | +0.0% | ✅ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 22.90 ± (22.83 - 22.97) ms | 22.91 ± (22.83 - 22.99) ms | +0.1% | ✅⬆️ |
| process.time_to_main_ms | 90.11 ± (89.70 - 90.53) ms | 90.29 ± (89.76 - 90.82) ms | +0.2% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.98 ± (10.98 - 10.98) MB | 10.97 ± (10.97 - 10.97) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 13 ± (13 - 13) | 13 ± (13 - 13) | +0.0% | ✅ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 220.48 ± (219.02 - 221.93) ms | 225.21 ± (223.78 - 226.64) ms | +2.1% | ✅⬆️ |
| process.time_to_main_ms | 499.02 ± (497.87 - 500.18) ms | 508.92 ± (507.31 - 510.53) ms | +2.0% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 47.76 ± (47.74 - 47.79) MB | 47.76 ± (47.74 - 47.78) MB | -0.0% | ✅ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.1% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 21.65 ± (21.56 - 21.75) ms | 21.68 ± (21.59 - 21.76) ms | +0.1% | ✅⬆️ |
| process.time_to_main_ms | 76.17 ± (75.76 - 76.59) ms | 76.44 ± (76.02 - 76.86) ms | +0.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.61 ± (10.61 - 10.61) MB | 10.63 ± (10.63 - 10.63) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 21.72 ± (21.65 - 21.79) ms | 21.85 ± (21.78 - 21.93) ms | +0.6% | ✅⬆️ |
| process.time_to_main_ms | 77.57 ± (77.24 - 77.89) ms | 79.07 ± (78.67 - 79.48) ms | +1.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 10.66 ± (10.66 - 10.66) MB | 10.67 ± (10.67 - 10.67) MB | +0.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 213.60 ± (211.40 - 215.79) ms | 214.68 ± (212.47 - 216.89) ms | +0.5% | ✅⬆️ |
| process.time_to_main_ms | 468.00 ± (467.13 - 468.88) ms | 472.88 ± (471.54 - 474.22) ms | +1.0% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 48.03 ± (48.00 - 48.05) MB | 48.11 ± (48.09 - 48.13) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 28 ± (28 - 28) | 28 ± (28 - 28) | +0.2% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 20.03 ± (19.96 - 20.10) ms | 19.84 ± (19.77 - 19.90) ms | -1.0% | ✅ |
| process.time_to_main_ms | 76.19 ± (75.85 - 76.53) ms | 74.98 ± (74.61 - 75.34) ms | -1.6% | ✅ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.66 ± (7.65 - 7.66) MB | 7.65 ± (7.64 - 7.65) MB | -0.1% | ✅ |
| runtime.dotnet.threads.count | 10 ± (10 - 10) | 10 ± (10 - 10) | +0.0% | ✅ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 20.00 ± (19.95 - 20.06) ms | 20.11 ± (20.02 - 20.19) ms | +0.5% | ✅⬆️ |
| process.time_to_main_ms | 77.13 ± (76.84 - 77.42) ms | 77.82 ± (77.38 - 78.25) ms | +0.9% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 7.70 ± (7.70 - 7.71) MB | 7.72 ± (7.71 - 7.72) MB | +0.2% | ✅⬆️ |
| runtime.dotnet.threads.count | 11 ± (11 - 11) | 11 ± (11 - 11) | +0.0% | ✅ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 192.54 ± (191.61 - 193.48) ms | 194.61 ± (193.54 - 195.68) ms | +1.1% | ✅⬆️ |
| process.time_to_main_ms | 456.57 ± (455.67 - 457.48) ms | 463.37 ± (462.01 - 464.74) ms | +1.5% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 0 ± (0 - 0) | 0 ± (0 - 0) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 36.40 ± (36.36 - 36.44) MB | 36.39 ± (36.35 - 36.44) MB | -0.0% | ✅ |
| runtime.dotnet.threads.count | 27 ± (27 - 27) | 27 ± (27 - 27) | +0.2% | ✅⬆️ |
HttpMessageHandler
| Metric | Master (Mean ± 95% CI) | Current (Mean ± 95% CI) | Change | Status |
|---|---|---|---|---|
| .NET Framework 4.8 - Baseline | ||||
| duration | 192.46 ± (192.43 - 193.26) ms | 193.25 ± (193.32 - 194.10) ms | +0.4% | ✅⬆️ |
| .NET Framework 4.8 - Bailout | ||||
| duration | 196.34 ± (196.07 - 196.67) ms | 210.24 ± (209.55 - 210.47) ms | +7.1% | ❌⬆️ |
| .NET Framework 4.8 - CallTarget+Inlining+NGEN | ||||
| duration | 1104.28 ± (1110.04 - 1119.65) ms | 1134.03 ± (1136.28 - 1147.60) ms | +2.7% | ✅⬆️ |
| .NET Core 3.1 - Baseline | ||||
| process.internal_duration_ms | 187.63 ± (187.29 - 187.97) ms | 191.31 ± (190.84 - 191.77) ms | +2.0% | ✅⬆️ |
| process.time_to_main_ms | 80.23 ± (80.04 - 80.42) ms | 82.13 ± (81.91 - 82.34) ms | +2.4% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.06 ± (16.03 - 16.09) MB | 16.14 ± (16.12 - 16.15) MB | +0.4% | ✅⬆️ |
| runtime.dotnet.threads.count | 19 ± (19 - 20) | 20 ± (20 - 20) | +0.4% | ✅⬆️ |
| .NET Core 3.1 - Bailout | ||||
| process.internal_duration_ms | 187.08 ± (186.77 - 187.38) ms | 189.24 ± (188.74 - 189.74) ms | +1.2% | ✅⬆️ |
| process.time_to_main_ms | 81.72 ± (81.59 - 81.85) ms | 83.08 ± (82.86 - 83.30) ms | +1.7% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.15 ± (16.13 - 16.18) MB | 16.22 ± (16.19 - 16.25) MB | +0.4% | ✅⬆️ |
| runtime.dotnet.threads.count | 21 ± (21 - 21) | 21 ± (21 - 21) | +0.4% | ✅⬆️ |
| .NET Core 3.1 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 401.57 ± (398.56 - 404.58) ms | 405.02 ± (402.25 - 407.78) ms | +0.9% | ✅⬆️ |
| process.time_to_main_ms | 469.82 ± (469.27 - 470.37) ms | 478.13 ± (477.23 - 479.04) ms | +1.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 3 ± (3 - 3) | 3 ± (3 - 3) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 58.26 ± (58.12 - 58.41) MB | 58.89 ± (58.80 - 58.98) MB | +1.1% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 29 ± (29 - 30) | +0.1% | ✅⬆️ |
| .NET 6 - Baseline | ||||
| process.internal_duration_ms | 191.33 ± (190.98 - 191.68) ms | 197.21 ± (196.76 - 197.67) ms | +3.1% | ✅⬆️ |
| process.time_to_main_ms | 69.68 ± (69.51 - 69.86) ms | 71.65 ± (71.46 - 71.83) ms | +2.8% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.04 ± (15.88 - 16.20) MB | 16.36 ± (16.34 - 16.38) MB | +2.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 18 ± (18 - 18) | 19 ± (19 - 19) | +5.7% | ✅⬆️ |
| .NET 6 - Bailout | ||||
| process.internal_duration_ms | 190.15 ± (189.93 - 190.37) ms | 194.20 ± (193.72 - 194.69) ms | +2.1% | ✅⬆️ |
| process.time_to_main_ms | 70.37 ± (70.31 - 70.44) ms | 71.97 ± (71.81 - 72.13) ms | +2.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 16.02 ± (15.86 - 16.18) MB | 16.18 ± (16.07 - 16.30) MB | +1.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 20 ± (19 - 20) | +3.0% | ✅⬆️ |
| .NET 6 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 418.39 ± (415.12 - 421.66) ms | 425.06 ± (421.53 - 428.58) ms | +1.6% | ✅⬆️ |
| process.time_to_main_ms | 442.71 ± (442.09 - 443.34) ms | 448.49 ± (447.46 - 449.52) ms | +1.3% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 58.63 ± (58.49 - 58.76) MB | 58.77 ± (58.64 - 58.91) MB | +0.3% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (29 - 30) | 30 ± (29 - 30) | +0.2% | ✅⬆️ |
| .NET 8 - Baseline | ||||
| process.internal_duration_ms | 190.44 ± (190.10 - 190.78) ms | 192.64 ± (192.16 - 193.12) ms | +1.2% | ✅⬆️ |
| process.time_to_main_ms | 69.32 ± (69.15 - 69.48) ms | 70.17 ± (69.96 - 70.37) ms | +1.2% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 11.76 ± (11.74 - 11.79) MB | 11.70 ± (11.67 - 11.72) MB | -0.6% | ✅ |
| runtime.dotnet.threads.count | 18 ± (18 - 18) | 18 ± (18 - 18) | -0.0% | ✅ |
| .NET 8 - Bailout | ||||
| process.internal_duration_ms | 189.46 ± (189.20 - 189.72) ms | 191.14 ± (190.76 - 191.53) ms | +0.9% | ✅⬆️ |
| process.time_to_main_ms | 70.28 ± (70.17 - 70.39) ms | 71.03 ± (70.90 - 71.15) ms | +1.1% | ✅⬆️ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 11.81 ± (11.76 - 11.87) MB | 11.77 ± (11.74 - 11.79) MB | -0.4% | ✅ |
| runtime.dotnet.threads.count | 19 ± (19 - 19) | 19 ± (19 - 19) | +0.8% | ✅⬆️ |
| .NET 8 - CallTarget+Inlining+NGEN | ||||
| process.internal_duration_ms | 370.02 ± (368.60 - 371.44) ms | 366.53 ± (365.15 - 367.92) ms | -0.9% | ✅ |
| process.time_to_main_ms | 433.91 ± (433.08 - 434.74) ms | 432.79 ± (431.88 - 433.69) ms | -0.3% | ✅ |
| runtime.dotnet.exceptions.count | 4 ± (4 - 4) | 4 ± (4 - 4) | +0.0% | ✅ |
| runtime.dotnet.mem.committed | 47.85 ± (47.82 - 47.88) MB | 47.87 ± (47.83 - 47.91) MB | +0.0% | ✅⬆️ |
| runtime.dotnet.threads.count | 29 ± (29 - 29) | 29 ± (29 - 29) | +0.5% | ✅⬆️ |
Comparison explanation
Execution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
- Welch test with statistical test for significance of 5%
- Only results indicating a difference greater than 5% and 5 ms are considered.
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.
Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).
Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (77ms) : 70, 83
master - mean (75ms) : 70, 80
section Bailout
This PR (7862) - mean (81ms) : 75, 87
master - mean (79ms) : 74, 83
section CallTarget+Inlining+NGEN
This PR (7862) - mean (1,084ms) : 1002, 1166
master - mean (1,067ms) : 986, 1147
FakeDbCommand (.NET Core 3.1)
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (120ms) : 111, 129
master - mean (118ms) : 110, 126
section Bailout
This PR (7862) - mean (121ms) : 110, 132
master - mean (120ms) : 112, 129
section CallTarget+Inlining+NGEN
This PR (7862) - mean (771ms) : 730, 812
master - mean (760ms) : 719, 800
FakeDbCommand (.NET 6)
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (106ms) : 96, 115
master - mean (105ms) : 99, 110
section Bailout
This PR (7862) - mean (108ms) : 101, 116
master - mean (106ms) : 101, 112
section CallTarget+Inlining+NGEN
This PR (7862) - mean (723ms) : 662, 783
master - mean (713ms) : 668, 758
FakeDbCommand (.NET 8)
gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (104ms) : 96, 111
master - mean (105ms) : 97, 113
section Bailout
This PR (7862) - mean (107ms) : 99, 114
master - mean (106ms) : 101, 111
section CallTarget+Inlining+NGEN
This PR (7862) - mean (694ms) : 653, 734
master - mean (688ms) : 660, 716
HttpMessageHandler (.NET Framework 4.8)
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (194ms) : 190, 198
master - mean (193ms) : 189, 197
section Bailout
This PR (7862) - mean (210ms) : crit, 205, 215
master - mean (196ms) : 193, 199
section CallTarget+Inlining+NGEN
This PR (7862) - mean (1,142ms) : 1054, 1229
master - mean (1,115ms) : 1045, 1185
HttpMessageHandler (.NET Core 3.1)
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (282ms) : 272, 292
master - mean (276ms) : 272, 281
section Bailout
This PR (7862) - mean (281ms) : 274, 288
master - mean (277ms) : 274, 280
section CallTarget+Inlining+NGEN
This PR (7862) - mean (923ms) : 877, 968
master - mean (903ms) : 851, 955
HttpMessageHandler (.NET 6)
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (277ms) : 268, 287
master - mean (270ms) : 264, 276
section Bailout
This PR (7862) - mean (274ms) : 268, 281
master - mean (268ms) : 265, 272
section CallTarget+Inlining+NGEN
This PR (7862) - mean (910ms) : 839, 981
master - mean (893ms) : 833, 953
HttpMessageHandler (.NET 8)
gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7862) - mean (273ms) : 266, 279
master - mean (270ms) : 265, 274
section Bailout
This PR (7862) - mean (272ms) : 266, 278
master - mean (269ms) : 266, 273
section CallTarget+Inlining+NGEN
This PR (7862) - mean (832ms) : 815, 849
master - mean (835ms) : 808, 862
BenchmarksBenchmarks Report for benchmark platform 🐌Benchmarks for #7862 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ More allocations
|
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 | 5.7 KB | 5.74 KB | 38 B | 0.67% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 10.7μs | 53.2ns | 219ns | 0 | 0 | 0 | 5.51 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 13.9μs | 59.4ns | 230ns | 0 | 0 | 0 | 5.7 KB |
| master | StartStopWithChild |
net472 | 22.5μs | 119ns | 653ns | 0.963 | 0.214 | 0 | 6.1 KB |
| #7862 | StartStopWithChild |
net6.0 | 10.7μs | 57.3ns | 309ns | 0 | 0 | 0 | 5.5 KB |
| #7862 | StartStopWithChild |
netcoreapp3.1 | 14.3μs | 49.4ns | 191ns | 0 | 0 | 0 | 5.74 KB |
| #7862 | StartStopWithChild |
net472 | 22.1μs | 121ns | 749ns | 0.97 | 0.216 | 0 | 6.12 KB |
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 934μs | 170ns | 659ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.04ms | 280ns | 1.09μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.19ms | 240ns | 928ns | 0 | 0 | 0 | 3.31 KB |
| #7862 | WriteAndFlushEnrichedTraces |
net6.0 | 921μs | 96.2ns | 347ns | 0 | 0 | 0 | 2.7 KB |
| #7862 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.04ms | 350ns | 1.26μs | 0 | 0 | 0 | 2.7 KB |
| #7862 | WriteAndFlushEnrichedTraces |
net472 | 1.19ms | 55.5ns | 200ns | 0 | 0 | 0 | 3.31 KB |
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | AllCycleSimpleBody |
net6.0 | 1.06μs | 6ns | 34ns | 0 | 0 | 0 | 1.22 KB |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 1.44μs | 0.837ns | 3.24ns | 0 | 0 | 0 | 1.2 KB |
| master | AllCycleSimpleBody |
net472 | 1.02μs | 0.193ns | 0.722ns | 0.193 | 0 | 0 | 1.23 KB |
| master | AllCycleMoreComplexBody |
net6.0 | 7.21μs | 35.8ns | 160ns | 0 | 0 | 0 | 4.72 KB |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 9μs | 36.7ns | 137ns | 0 | 0 | 0 | 4.62 KB |
| master | AllCycleMoreComplexBody |
net472 | 7.69μs | 5.41ns | 20.9ns | 0.731 | 0 | 0 | 4.74 KB |
| master | ObjectExtractorSimpleBody |
net6.0 | 319ns | 1.72ns | 9.7ns | 0 | 0 | 0 | 280 B |
| master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 385ns | 2.18ns | 14.1ns | 0 | 0 | 0 | 272 B |
| master | ObjectExtractorSimpleBody |
net472 | 297ns | 0.0397ns | 0.148ns | 0.0439 | 0 | 0 | 281 B |
| master | ObjectExtractorMoreComplexBody |
net6.0 | 6.28μs | 31.9ns | 153ns | 0 | 0 | 0 | 3.79 KB |
| master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.83μs | 2.59ns | 9.67ns | 0 | 0 | 0 | 3.69 KB |
| master | ObjectExtractorMoreComplexBody |
net472 | 6.69μs | 4.12ns | 16ns | 0.601 | 0 | 0 | 3.8 KB |
| #7862 | AllCycleSimpleBody |
net6.0 | 1.06μs | 0.739ns | 2.86ns | 0 | 0 | 0 | 1.22 KB |
| #7862 | AllCycleSimpleBody |
netcoreapp3.1 | 1.37μs | 7.77ns | 52.1ns | 0 | 0 | 0 | 1.2 KB |
| #7862 | AllCycleSimpleBody |
net472 | 1.03μs | 0.975ns | 3.77ns | 0.194 | 0 | 0 | 1.23 KB |
| #7862 | AllCycleMoreComplexBody |
net6.0 | 7.15μs | 38.8ns | 223ns | 0 | 0 | 0 | 4.72 KB |
| #7862 | AllCycleMoreComplexBody |
netcoreapp3.1 | 9.19μs | 4.44ns | 17.2ns | 0 | 0 | 0 | 4.62 KB |
| #7862 | AllCycleMoreComplexBody |
net472 | 7.68μs | 5.62ns | 21.8ns | 0.729 | 0 | 0 | 4.74 KB |
| #7862 | ObjectExtractorSimpleBody |
net6.0 | 326ns | 1.63ns | 7.28ns | 0 | 0 | 0 | 280 B |
| #7862 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 400ns | 2.18ns | 12.5ns | 0 | 0 | 0 | 272 B |
| #7862 | ObjectExtractorSimpleBody |
net472 | 292ns | 0.1ns | 0.388ns | 0.0442 | 0 | 0 | 281 B |
| #7862 | ObjectExtractorMoreComplexBody |
net6.0 | 6.22μs | 27.8ns | 108ns | 0 | 0 | 0 | 3.78 KB |
| #7862 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.91μs | 32ns | 124ns | 0 | 0 | 0 | 3.69 KB |
| #7862 | ObjectExtractorMoreComplexBody |
net472 | 6.68μs | 4.62ns | 17.9ns | 0.571 | 0 | 0 | 3.8 KB |
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EncodeArgs |
net6.0 | 76.8μs | 186ns | 695ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
netcoreapp3.1 | 96.8μs | 296ns | 1.15μs | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
net472 | 109μs | 7.23ns | 27.1ns | 4.91 | 0 | 0 | 32.51 KB |
| master | EncodeLegacyArgs |
net6.0 | 148μs | 56.9ns | 213ns | 0 | 0 | 0 | 2.15 KB |
| master | EncodeLegacyArgs |
netcoreapp3.1 | 199μs | 141ns | 527ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
net472 | 264μs | 19.6ns | 70.7ns | 0 | 0 | 0 | 2.16 KB |
| #7862 | EncodeArgs |
net6.0 | 76.3μs | 303ns | 1.17μs | 0 | 0 | 0 | 32.4 KB |
| #7862 | EncodeArgs |
netcoreapp3.1 | 96.9μs | 279ns | 1.08μs | 0 | 0 | 0 | 32.4 KB |
| #7862 | EncodeArgs |
net472 | 109μs | 12.8ns | 49.5ns | 4.9 | 0 | 0 | 32.51 KB |
| #7862 | EncodeLegacyArgs |
net6.0 | 147μs | 35.7ns | 129ns | 0 | 0 | 0 | 2.15 KB |
| #7862 | EncodeLegacyArgs |
netcoreapp3.1 | 198μs | 144ns | 556ns | 0 | 0 | 0 | 2.14 KB |
| #7862 | EncodeLegacyArgs |
net472 | 264μs | 266ns | 1.03μs | 0 | 0 | 0 | 2.16 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Same allocations ✔️
Faster 🎉 in #7862
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1
2.077
853,429.64
410,963.54
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 | 2.077 | 853,429.64 | 410,963.54 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunWafRealisticBenchmark |
net6.0 | 396μs | 119ns | 460ns | 0 | 0 | 0 | 4.55 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 809μs | 13.4μs | 134μs | 0 | 0 | 0 | 4.48 KB |
| master | RunWafRealisticBenchmark |
net472 | 430μs | 84.7ns | 328ns | 0 | 0 | 0 | 4.66 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 289μs | 22.3ns | 83.3ns | 0 | 0 | 0 | 2.24 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 671μs | 13.5μs | 134μs | 0 | 0 | 0 | 2.22 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 310μs | 37.6ns | 146ns | 0 | 0 | 0 | 2.29 KB |
| #7862 | RunWafRealisticBenchmark |
net6.0 | 394μs | 419ns | 1.62μs | 0 | 0 | 0 | 4.55 KB |
| #7862 | RunWafRealisticBenchmark |
netcoreapp3.1 | 411μs | 230ns | 892ns | 0 | 0 | 0 | 4.48 KB |
| #7862 | RunWafRealisticBenchmark |
net472 | 432μs | 40.7ns | 158ns | 0 | 0 | 0 | 4.66 KB |
| #7862 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 286μs | 29.8ns | 111ns | 0 | 0 | 0 | 2.24 KB |
| #7862 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 677μs | 13.8μs | 138μs | 0 | 0 | 0 | 2.22 KB |
| #7862 | RunWafRealisticBenchmarkWithAttack |
net472 | 312μs | 41ns | 153ns | 0 | 0 | 0 | 2.29 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net6.0 | 61.3μs | 41.5ns | 161ns | 0 | 0 | 0 | 14.52 KB |
| master | SendRequest |
netcoreapp3.1 | 71.6μs | 63.2ns | 245ns | 0 | 0 | 0 | 17.42 KB |
| master | SendRequest |
net472 | 0.00307ns | 0.00157ns | 0.00609ns | 0 | 0 | 0 | 0 b |
| #7862 | SendRequest |
net6.0 | 62μs | 62.3ns | 241ns | 0 | 0 | 0 | 14.52 KB |
| #7862 | SendRequest |
netcoreapp3.1 | 71.6μs | 75.9ns | 294ns | 0 | 0 | 0 | 17.42 KB |
| #7862 | SendRequest |
net472 | 0.00546ns | 0.00227ns | 0.0088ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7862
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472
0 b
73 B
73 B
∞
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472
0 b
47 B
47 B
∞
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0
2 B
3 B
1 B
50.00%
Fewer allocations 🎉 in #7862
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1
1 B
0 b
-1 B
-100.00%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 | 0 b | 73 B | 73 B | ∞ |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 | 0 b | 47 B | 47 B | ∞ |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 | 2 B | 3 B | 1 B | 50.00% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 | 1 B | 0 b | -1 B | -100.00% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | OriginalCharSlice |
net6.0 | 1.91ms | 532ns | 1.99μs | 0 | 0 | 0 | 640.01 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 2.14ms | 7.49μs | 29μs | 0 | 0 | 0 | 640 KB |
| master | OriginalCharSlice |
net472 | 2.62ms | 881ns | 3.41μs | 100 | 0 | 0 | 641.95 KB |
| master | OptimizedCharSlice |
net6.0 | 1.35ms | 2.73μs | 10.6μs | 0 | 0 | 0 | 7 B |
| master | OptimizedCharSlice |
netcoreapp3.1 | 1.69ms | 297ns | 1.15μs | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSlice |
net472 | 1.94ms | 170ns | 638ns | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net6.0 | 816μs | 26.3ns | 102ns | 0 | 0 | 0 | 2 B |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 873μs | 52.2ns | 195ns | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSliceWithPool |
net472 | 1.14ms | 113ns | 439ns | 0 | 0 | 0 | 0 b |
| #7862 | OriginalCharSlice |
net6.0 | 1.94ms | 569ns | 2.13μs | 0 | 0 | 0 | 640.01 KB |
| #7862 | OriginalCharSlice |
netcoreapp3.1 | 2.1ms | 6.44μs | 24.9μs | 0 | 0 | 0 | 640 KB |
| #7862 | OriginalCharSlice |
net472 | 2.7ms | 309ns | 1.15μs | 100 | 0 | 0 | 641.95 KB |
| #7862 | OptimizedCharSlice |
net6.0 | 1.38ms | 266ns | 1.03μs | 0 | 0 | 0 | 7 B |
| #7862 | OptimizedCharSlice |
netcoreapp3.1 | 1.68ms | 298ns | 1.15μs | 0 | 0 | 0 | 1 B |
| #7862 | OptimizedCharSlice |
net472 | 1.93ms | 274ns | 1.06μs | 0 | 0 | 0 | 73 B |
| #7862 | OptimizedCharSliceWithPool |
net6.0 | 830μs | 47.5ns | 184ns | 0 | 0 | 0 | 3 B |
| #7862 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 811μs | 194ns | 752ns | 0 | 0 | 0 | 0 b |
| #7862 | OptimizedCharSliceWithPool |
net472 | 1.15ms | 56.4ns | 203ns | 0 | 0 | 0 | 47 B |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 Fewer allocations 🎉
Faster 🎉 in #7862
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
1.192
1,028,238.54
862,798.66
Fewer allocations 🎉 in #7862
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1
42.75 KB
42.2 KB
-552 B
-1.29%
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 1.192 | 1,028,238.54 | 862,798.66 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 | 42.75 KB | 42.2 KB | -552 B | -1.29% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 719μs | 937ns | 3.51μs | 0 | 0 | 0 | 41.78 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 748μs | 2.2μs | 8.54μs | 0 | 0 | 0 | 42.75 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.03ms | 5.08μs | 21.6μs | 5.21 | 0 | 0 | 55.94 KB |
| #7862 | WriteAndFlushEnrichedTraces |
net6.0 | 775μs | 1.59μs | 5.94μs | 0 | 0 | 0 | 41.87 KB |
| #7862 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 731μs | 3.84μs | 18.4μs | 0 | 0 | 0 | 42.2 KB |
| #7862 | WriteAndFlushEnrichedTraces |
net472 | 864μs | 1.85μs | 6.93μs | 4.46 | 0 | 0 | 55.81 KB |
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteNonQuery |
net6.0 | 1.89μs | 9.71ns | 47.6ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.62μs | 9.75ns | 37.8ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.86μs | 3.4ns | 13.2ns | 0.156 | 0.0142 | 0 | 987 B |
| #7862 | ExecuteNonQuery |
net6.0 | 1.95μs | 3.7ns | 14.3ns | 0 | 0 | 0 | 1.02 KB |
| #7862 | ExecuteNonQuery |
netcoreapp3.1 | 2.53μs | 7.17ns | 27.8ns | 0 | 0 | 0 | 1.02 KB |
| #7862 | ExecuteNonQuery |
net472 | 2.9μs | 14.4ns | 65.9ns | 0.156 | 0.0142 | 0 | 987 B |
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | CallElasticsearch |
net6.0 | 1.7μs | 7.41ns | 27.7ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 2.23μs | 7.38ns | 26.6ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
net472 | 3.56μs | 3.18ns | 12.3ns | 0.161 | 0 | 0 | 1.04 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.8μs | 1.26ns | 4.56ns | 0 | 0 | 0 | 1.01 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.32μs | 11.2ns | 46.2ns | 0 | 0 | 0 | 1.08 KB |
| master | CallElasticsearchAsync |
net472 | 3.84μs | 4.65ns | 18ns | 0.173 | 0 | 0 | 1.1 KB |
| #7862 | CallElasticsearch |
net6.0 | 1.74μs | 4.94ns | 17.8ns | 0 | 0 | 0 | 1.03 KB |
| #7862 | CallElasticsearch |
netcoreapp3.1 | 2.25μs | 11.8ns | 55.1ns | 0 | 0 | 0 | 1.03 KB |
| #7862 | CallElasticsearch |
net472 | 3.61μs | 3.85ns | 14.9ns | 0.162 | 0 | 0 | 1.04 KB |
| #7862 | CallElasticsearchAsync |
net6.0 | 1.87μs | 9.02ns | 34.9ns | 0 | 0 | 0 | 1.01 KB |
| #7862 | CallElasticsearchAsync |
netcoreapp3.1 | 2.33μs | 11.6ns | 50.5ns | 0 | 0 | 0 | 1.08 KB |
| #7862 | CallElasticsearchAsync |
net472 | 3.78μs | 5.56ns | 21.5ns | 0.172 | 0 | 0 | 1.1 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | ExecuteAsync |
net6.0 | 1.85μs | 5.4ns | 20.9ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.5μs | 3.77ns | 14.6ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 2.52μs | 0.907ns | 3.51ns | 0.138 | 0 | 0 | 915 B |
| #7862 | ExecuteAsync |
net6.0 | 1.86μs | 0.242ns | 0.872ns | 0 | 0 | 0 | 952 B |
| #7862 | ExecuteAsync |
netcoreapp3.1 | 2.45μs | 9.37ns | 35.1ns | 0 | 0 | 0 | 952 B |
| #7862 | ExecuteAsync |
net472 | 2.51μs | 0.44ns | 1.7ns | 0.137 | 0 | 0 | 915 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendAsync |
net6.0 | 7μs | 4.77ns | 17.8ns | 0 | 0 | 0 | 2.36 KB |
| master | SendAsync |
netcoreapp3.1 | 9.15μs | 26.8ns | 104ns | 0 | 0 | 0 | 2.9 KB |
| master | SendAsync |
net472 | 12μs | 6.39ns | 23.9ns | 0.481 | 0 | 0 | 3.18 KB |
| #7862 | SendAsync |
net6.0 | 6.88μs | 21.3ns | 82.7ns | 0 | 0 | 0 | 2.36 KB |
| #7862 | SendAsync |
netcoreapp3.1 | 8.81μs | 36.2ns | 140ns | 0 | 0 | 0 | 2.9 KB |
| #7862 | SendAsync |
net472 | 12.3μs | 10ns | 38.7ns | 0.49 | 0 | 0 | 3.18 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7862
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1
43.19 KB
87.48 KB
44.29 KB
102.54%
Fewer allocations 🎉 in #7862
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
258.66 KB
255.77 KB
-2.89 KB
-1.12%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 | 43.19 KB | 87.48 KB | 44.29 KB | 102.54% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 | 258.66 KB | 255.77 KB | -2.89 KB | -1.12% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 45.5μs | 252ns | 2.09μs | 0 | 0 | 0 | 43.44 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 50μs | 290ns | 2.28μs | 0 | 0 | 0 | 43.19 KB |
| master | StringConcatBenchmark |
net472 | 58.2μs | 169ns | 632ns | 0 | 0 | 0 | 65.54 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 459μs | 1.55μs | 6.22μs | 0 | 0 | 0 | 258.88 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 523μs | 2.54μs | 10.8μs | 0 | 0 | 0 | 258.66 KB |
| master | StringConcatAspectBenchmark |
net472 | 411μs | 2.07μs | 10.5μs | 0 | 0 | 0 | 278.53 KB |
| #7862 | StringConcatBenchmark |
net6.0 | 49.2μs | 284ns | 2.07μs | 0 | 0 | 0 | 43.47 KB |
| #7862 | StringConcatBenchmark |
netcoreapp3.1 | 49.4μs | 286ns | 2.43μs | 0 | 0 | 0 | 87.48 KB |
| #7862 | StringConcatBenchmark |
net472 | 56.8μs | 277ns | 1.14μs | 0 | 0 | 0 | 65.54 KB |
| #7862 | StringConcatAspectBenchmark |
net6.0 | 454μs | 1.53μs | 7μs | 0 | 0 | 0 | 259.03 KB |
| #7862 | StringConcatAspectBenchmark |
netcoreapp3.1 | 508μs | 1.56μs | 5.42μs | 0 | 0 | 0 | 255.77 KB |
| #7862 | StringConcatAspectBenchmark |
net472 | 427μs | 2.44μs | 18.4μs | 0 | 0 | 0 | 278.53 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 2.67μs | 13.7ns | 61.1ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.58μs | 9.86ns | 38.2ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 3.97μs | 3.72ns | 14.4ns | 0.257 | 0 | 0 | 1.64 KB |
| #7862 | EnrichedLog |
net6.0 | 2.63μs | 12.5ns | 51.3ns | 0 | 0 | 0 | 1.7 KB |
| #7862 | EnrichedLog |
netcoreapp3.1 | 3.72μs | 17.3ns | 66.9ns | 0 | 0 | 0 | 1.7 KB |
| #7862 | EnrichedLog |
net472 | 3.96μs | 2.68ns | 10.4ns | 0.257 | 0 | 0 | 1.64 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 122μs | 72.1ns | 260ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 128μs | 72.6ns | 262ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 166μs | 232ns | 897ns | 0 | 0 | 0 | 4.52 KB |
| #7862 | EnrichedLog |
net6.0 | 122μs | 57.9ns | 224ns | 0 | 0 | 0 | 4.31 KB |
| #7862 | EnrichedLog |
netcoreapp3.1 | 127μs | 290ns | 1.09μs | 0 | 0 | 0 | 4.31 KB |
| #7862 | EnrichedLog |
net472 | 167μs | 165ns | 641ns | 0 | 0 | 0 | 4.52 KB |
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 5μs | 23.5ns | 97ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 6.9μs | 28.4ns | 110ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.58μs | 4.68ns | 17.5ns | 0.301 | 0 | 0 | 2.08 KB |
| #7862 | EnrichedLog |
net6.0 | 4.94μs | 3.03ns | 10.5ns | 0 | 0 | 0 | 2.26 KB |
| #7862 | EnrichedLog |
netcoreapp3.1 | 6.94μs | 21.2ns | 82.2ns | 0 | 0 | 0 | 2.26 KB |
| #7862 | EnrichedLog |
net472 | 7.72μs | 8.52ns | 33ns | 0.305 | 0 | 0 | 2.08 KB |
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendReceive |
net6.0 | 2.01μs | 1.23ns | 4.61ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
netcoreapp3.1 | 2.52μs | 12ns | 48.2ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
net472 | 3.19μs | 5.06ns | 19.6ns | 0.189 | 0 | 0 | 1.2 KB |
| #7862 | SendReceive |
net6.0 | 1.95μs | 10.4ns | 54.2ns | 0 | 0 | 0 | 1.2 KB |
| #7862 | SendReceive |
netcoreapp3.1 | 2.51μs | 11.7ns | 45.1ns | 0 | 0 | 0 | 1.2 KB |
| #7862 | SendReceive |
net472 | 3.11μs | 3.5ns | 13.6ns | 0.188 | 0 | 0 | 1.2 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 4.31μs | 13.3ns | 49.9ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.59μs | 5.7ns | 22.1ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.92μs | 6.43ns | 24.1ns | 0.311 | 0 | 0 | 2.03 KB |
| #7862 | EnrichedLog |
net6.0 | 4.35μs | 1.78ns | 6.91ns | 0 | 0 | 0 | 1.58 KB |
| #7862 | EnrichedLog |
netcoreapp3.1 | 5.59μs | 10.6ns | 41.1ns | 0 | 0 | 0 | 1.63 KB |
| #7862 | EnrichedLog |
net472 | 6.65μs | 6.77ns | 26.2ns | 0.298 | 0 | 0 | 2.03 KB |
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartFinishSpan |
net6.0 | 788ns | 4.15ns | 20.3ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 973ns | 4.79ns | 19.7ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 942ns | 0.772ns | 2.99ns | 0.09 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 930ns | 4.96ns | 24.8ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.17μs | 6.38ns | 36.1ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 1.18μs | 0.919ns | 3.44ns | 0.1 | 0 | 0 | 658 B |
| #7862 | StartFinishSpan |
net6.0 | 793ns | 1.74ns | 6.75ns | 0 | 0 | 0 | 576 B |
| #7862 | StartFinishSpan |
netcoreapp3.1 | 957ns | 4.91ns | 23ns | 0 | 0 | 0 | 576 B |
| #7862 | StartFinishSpan |
net472 | 940ns | 0.1ns | 0.374ns | 0.0894 | 0 | 0 | 578 B |
| #7862 | StartFinishScope |
net6.0 | 920ns | 4.44ns | 17.2ns | 0 | 0 | 0 | 696 B |
| #7862 | StartFinishScope |
netcoreapp3.1 | 1.18μs | 5.82ns | 26ns | 0 | 0 | 0 | 696 B |
| #7862 | StartFinishScope |
net472 | 1.14μs | 0.382ns | 1.38ns | 0.103 | 0 | 0 | 658 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunOnMethodBegin |
net6.0 | 1.08μs | 5.6ns | 22.4ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.49μs | 5.97ns | 23.1ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.45μs | 0.655ns | 2.45ns | 0.102 | 0 | 0 | 658 B |
| #7862 | RunOnMethodBegin |
net6.0 | 1.07μs | 5.59ns | 26.2ns | 0 | 0 | 0 | 696 B |
| #7862 | RunOnMethodBegin |
netcoreapp3.1 | 1.44μs | 7.12ns | 31.8ns | 0 | 0 | 0 | 696 B |
| #7862 | RunOnMethodBegin |
net472 | 1.44μs | 0.211ns | 0.762ns | 0.101 | 0 | 0 | 658 B |
The following files were found to be modified (as expected)
@DataDog/apm-dotnet