Skip to content

Conversation

@andrewlock
Copy link
Member

Summary of changes

  • Update Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.CSharp.Workspaces, and Microsoft.CodeAnalysis.Analyzers to latest
  • Split the code fixes into a separate project

Reason for change

We should update these dependencies as they're old. Unfortunately, doing so hits this build error:

RS1038: Compiler extensions should be implemented in assemblies with compiler-provided references
Types which implement compiler extension points should not be declared in assemblies that contain references to assemblies which are not provided by all compilation scenarios. Doing so may cause the feature to behave unpredictably.

tl;dr; codefixes need to be in a separate assembly to analyzers and source generators 🙄

Implementation details

  • Bump the versions
  • Extract diagnostic ID definitions to standalone types so they can be easily linked to
  • Move the code fixes to a separate project
  • Add links back to the analyzer project where appropriate
  • Minor tweaks so everything still builds

Test coverage

As long as the unit tests pass I think we're good

Other details

@andrewlock andrewlock requested review from a team as code owners November 24, 2025 17:40
@andrewlock andrewlock added dependencies Pull requests that update a dependency file area:tools area:dependabot dependabot updates labels Nov 24, 2025
Copy link
Member Author

Choose a reason for hiding this comment

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

These are all just moving from the analyzer project to the code fix project

Copy link
Member Author

Choose a reason for hiding this comment

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

This was a public type provided in the analyzers package, so just basically vendoring the minimum amount needed here

<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" PrivateAssets="all" />
Copy link
Member Author

Choose a reason for hiding this comment

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

This is the important bit, removing the reference to Microsoft.CodeAnalysis.CSharp.Workspaces from this project

@dd-trace-dotnet-ci-bot
Copy link

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7860) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration74.99 ± (74.96 - 75.69) ms75.10 ± (75.11 - 75.94) ms+0.2%✅⬆️
.NET Framework 4.8 - Bailout
duration79.50 ± (79.08 - 79.63) ms79.81 ± (79.72 - 80.52) ms+0.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1054.21 ± (1054.88 - 1064.33) ms1058.37 ± (1063.84 - 1076.50) ms+0.4%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms22.98 ± (22.90 - 23.06) ms23.03 ± (22.95 - 23.10) ms+0.2%✅⬆️
process.time_to_main_ms86.72 ± (86.39 - 87.04) ms87.59 ± (87.22 - 87.95) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.92 ± (10.92 - 10.93) MB10.91 ± (10.91 - 10.91) MB-0.1%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.88 ± (22.82 - 22.94) ms22.99 ± (22.91 - 23.06) ms+0.4%✅⬆️
process.time_to_main_ms89.60 ± (89.25 - 89.94) ms89.73 ± (89.37 - 90.08) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.96 ± (10.96 - 10.97) MB10.95 ± (10.95 - 10.95) MB-0.1%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms219.28 ± (218.00 - 220.56) ms220.45 ± (219.14 - 221.75) ms+0.5%✅⬆️
process.time_to_main_ms497.57 ± (496.51 - 498.63) ms499.69 ± (498.66 - 500.73) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.73 ± (47.70 - 47.75) MB47.81 ± (47.79 - 47.83) MB+0.2%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms21.93 ± (21.85 - 22.00) ms21.72 ± (21.64 - 21.80) ms-1.0%
process.time_to_main_ms77.47 ± (77.12 - 77.82) ms76.56 ± (76.19 - 76.93) ms-1.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.60 ± (10.59 - 10.60) MB10.63 ± (10.63 - 10.63) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.67 ± (21.61 - 21.73) ms21.74 ± (21.68 - 21.81) ms+0.3%✅⬆️
process.time_to_main_ms76.84 ± (76.51 - 77.18) ms77.34 ± (77.04 - 77.64) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.64 ± (10.64 - 10.65) MB10.74 ± (10.73 - 10.74) MB+0.9%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms210.56 ± (209.19 - 211.93) ms213.03 ± (210.55 - 215.52) ms+1.2%✅⬆️
process.time_to_main_ms465.15 ± (464.20 - 466.09) ms464.06 ± (462.99 - 465.12) ms-0.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.04 ± (48.02 - 48.07) MB48.03 ± (48.01 - 48.05) MB-0.0%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms20.00 ± (19.92 - 20.07) ms19.87 ± (19.81 - 19.93) ms-0.6%
process.time_to_main_ms75.42 ± (75.06 - 75.78) ms75.40 ± (75.07 - 75.72) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.65 ± (7.65 - 7.66) MB7.66 ± (7.65 - 7.67) MB+0.1%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.90 ± (19.84 - 19.95) ms19.82 ± (19.77 - 19.88) ms-0.4%
process.time_to_main_ms76.06 ± (75.78 - 76.33) ms76.78 ± (76.51 - 77.06) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.70 ± (7.70 - 7.71) MB7.72 ± (7.71 - 7.72) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms191.06 ± (190.13 - 191.98) ms194.91 ± (193.98 - 195.84) ms+2.0%✅⬆️
process.time_to_main_ms453.35 ± (452.57 - 454.14) ms456.64 ± (455.75 - 457.53) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.36 ± (36.31 - 36.40) MB36.53 ± (36.49 - 36.56) MB+0.5%✅⬆️
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)+0.4%✅⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration191.33 ± (191.17 - 191.92) ms193.54 ± (193.90 - 194.79) ms+1.2%✅⬆️
.NET Framework 4.8 - Bailout
duration195.81 ± (195.54 - 196.39) ms196.54 ± (196.56 - 197.02) ms+0.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1102.50 ± (1107.10 - 1116.52) ms1107.16 ± (1111.87 - 1121.54) ms+0.4%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms186.75 ± (186.46 - 187.04) ms187.62 ± (187.28 - 187.95) ms+0.5%✅⬆️
process.time_to_main_ms80.21 ± (80.01 - 80.41) ms80.57 ± (80.36 - 80.78) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.11 ± (16.08 - 16.13) MB16.09 ± (16.07 - 16.12) MB-0.1%
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (19 - 20)-0.2%
.NET Core 3.1 - Bailout
process.internal_duration_ms186.61 ± (186.31 - 186.90) ms187.71 ± (187.40 - 188.03) ms+0.6%✅⬆️
process.time_to_main_ms81.47 ± (81.34 - 81.60) ms82.05 ± (81.91 - 82.18) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.17 ± (16.14 - 16.20) MB16.14 ± (16.11 - 16.17) MB-0.2%
runtime.dotnet.threads.count20 ± (20 - 21)21 ± (20 - 21)+0.1%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms399.27 ± (396.73 - 401.82) ms405.69 ± (402.68 - 408.71) ms+1.6%✅⬆️
process.time_to_main_ms468.60 ± (467.86 - 469.34) ms472.61 ± (471.85 - 473.38) ms+0.9%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.59 ± (58.47 - 58.71) MB58.52 ± (58.40 - 58.64) MB-0.1%
runtime.dotnet.threads.count30 ± (29 - 30)29 ± (29 - 30)-0.1%
.NET 6 - Baseline
process.internal_duration_ms191.50 ± (191.19 - 191.80) ms192.70 ± (192.26 - 193.13) ms+0.6%✅⬆️
process.time_to_main_ms69.85 ± (69.68 - 70.02) ms70.09 ± (69.92 - 70.25) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed15.89 ± (15.72 - 16.06) MB16.27 ± (16.19 - 16.35) MB+2.4%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)19 ± (19 - 19)+5.0%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms190.10 ± (189.89 - 190.32) ms191.14 ± (190.84 - 191.45) ms+0.5%✅⬆️
process.time_to_main_ms70.42 ± (70.35 - 70.49) ms70.98 ± (70.89 - 71.08) ms+0.8%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.24 ± (16.10 - 16.38) MB16.31 ± (16.18 - 16.43) MB+0.4%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)20 ± (19 - 20)+2.8%✅⬆️
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms415.11 ± (411.93 - 418.28) ms412.84 ± (409.79 - 415.89) ms-0.5%
process.time_to_main_ms439.76 ± (439.25 - 440.27) ms441.70 ± (441.12 - 442.29) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.68 ± (58.53 - 58.83) MB58.55 ± (58.40 - 58.71) MB-0.2%
runtime.dotnet.threads.count30 ± (30 - 30)30 ± (29 - 30)-0.1%
.NET 8 - Baseline
process.internal_duration_ms189.85 ± (189.48 - 190.22) ms190.86 ± (190.51 - 191.21) ms+0.5%✅⬆️
process.time_to_main_ms69.41 ± (69.22 - 69.60) ms69.51 ± (69.32 - 69.70) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.79 ± (11.77 - 11.81) MB11.73 ± (11.71 - 11.76) MB-0.5%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.3%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms188.25 ± (188.02 - 188.49) ms191.99 ± (191.53 - 192.45) ms+2.0%✅⬆️
process.time_to_main_ms70.20 ± (70.09 - 70.31) ms71.03 ± (70.86 - 71.19) ms+1.2%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.85 ± (11.78 - 11.91) MB11.80 ± (11.78 - 11.82) MB-0.4%
runtime.dotnet.threads.count19 ± (18 - 19)19 ± (19 - 19)+3.0%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms363.66 ± (362.36 - 364.96) ms367.56 ± (366.26 - 368.85) ms+1.1%✅⬆️
process.time_to_main_ms427.55 ± (427.04 - 428.07) ms431.85 ± (431.20 - 432.49) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.87 ± (47.83 - 47.90) MB47.94 ± (47.91 - 47.97) MB+0.1%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.0%
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 (7860) - mean (76ms)  : 69, 82
    master - mean (75ms)  : 70, 81

    section Bailout
    This PR (7860) - mean (80ms)  : 74, 86
    master - mean (79ms)  : 75, 83

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (1,070ms)  : 977, 1163
    master - mean (1,060ms)  : 992, 1127

Loading
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 (7860) - mean (118ms)  : 112, 125
    master - mean (117ms)  : 111, 123

    section Bailout
    This PR (7860) - mean (120ms)  : 114, 126
    master - mean (120ms)  : 114, 125

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (758ms)  : 719, 797
    master - mean (753ms)  : 720, 786

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7860) - mean (105ms)  : 97, 113
    master - mean (106ms)  : 100, 113

    section Bailout
    This PR (7860) - mean (106ms)  : 101, 112
    master - mean (106ms)  : 100, 111

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (705ms)  : 662, 748
    master - mean (704ms)  : 670, 738

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7860) - mean (104ms)  : 96, 112
    master - mean (104ms)  : 97, 111

    section Bailout
    This PR (7860) - mean (105ms)  : 100, 110
    master - mean (105ms)  : 99, 110

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (688ms)  : 652, 724
    master - mean (681ms)  : 649, 714

Loading
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 (7860) - mean (194ms)  : 189, 199
    master - mean (192ms)  : 188, 195

    section Bailout
    This PR (7860) - mean (197ms)  : 195, 199
    master - mean (196ms)  : 192, 200

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (1,117ms)  : 1044, 1190
    master - mean (1,112ms)  : 1040, 1184

Loading
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 (7860) - mean (276ms)  : 271, 281
    master - mean (275ms)  : 270, 280

    section Bailout
    This PR (7860) - mean (278ms)  : 274, 282
    master - mean (276ms)  : 272, 280

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (911ms)  : 867, 955
    master - mean (901ms)  : 854, 947

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7860) - mean (271ms)  : 264, 277
    master - mean (270ms)  : 265, 274

    section Bailout
    This PR (7860) - mean (270ms)  : 267, 274
    master - mean (268ms)  : 266, 270

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (887ms)  : 839, 935
    master - mean (888ms)  : 830, 946

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7860) - mean (270ms)  : 264, 276
    master - mean (269ms)  : 264, 274

    section Bailout
    This PR (7860) - mean (273ms)  : 265, 281
    master - mean (268ms)  : 265, 271

    section CallTarget+Inlining+NGEN
    This PR (7860) - mean (830ms)  : 807, 853
    master - mean (821ms)  : 798, 844

Loading

@andrewlock andrewlock force-pushed the andrew/bump-analyzers-dependencies branch from 2e0d9f4 to e3fbf99 Compare November 25, 2025 17:18
@pr-commenter
Copy link

pr-commenter bot commented Nov 25, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7860 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.166
  • 7 benchmarks have fewer allocations
  • 5 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.9μs 56.6ns 265ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 14μs 72.6ns 340ns 0 0 0 5.73 KB
master StartStopWithChild net472 21.8μs 114ns 605ns 1.01 0.337 0.112 6.05 KB
#7860 StartStopWithChild net6.0 10.6μs 54.9ns 263ns 0 0 0 5.52 KB
#7860 StartStopWithChild netcoreapp3.1 13.9μs 71.1ns 318ns 0 0 0 5.72 KB
#7860 StartStopWithChild net472 22.4μs 117ns 607ns 1.05 0.35 0.117 6.02 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.35 KB 3.31 KB -46 B -1.37%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 935μs 44.1ns 159ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 480ns 1.86μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.23ms 428ns 1.66μs 0 0 0 3.35 KB
#7860 WriteAndFlushEnrichedTraces net6.0 932μs 94.5ns 354ns 0 0 0 2.7 KB
#7860 WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 36.6ns 137ns 0 0 0 2.7 KB
#7860 WriteAndFlushEnrichedTraces net472 1.2ms 212ns 822ns 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.08μs 5.4ns 22.9ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.37μs 7.87ns 63.9ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.432ns 1.62ns 0.191 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.28μs 34.1ns 132ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.17μs 45.4ns 203ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.68μs 5.18ns 20.1ns 0.735 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 333ns 1.73ns 8.46ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 399ns 2ns 8.24ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 299ns 0.164ns 0.637ns 0.0437 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.49μs 23.2ns 89.8ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 8.05μs 41.2ns 189ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.76μs 3.52ns 13.2ns 0.571 0 0 3.8 KB
#7860 AllCycleSimpleBody net6.0 1.09μs 6.17ns 42.3ns 0 0 0 1.22 KB
#7860 AllCycleSimpleBody netcoreapp3.1 1.42μs 0.704ns 2.73ns 0 0 0 1.2 KB
#7860 AllCycleSimpleBody net472 1.02μs 0.507ns 1.96ns 0.191 0 0 1.23 KB
#7860 AllCycleMoreComplexBody net6.0 7.21μs 37.2ns 186ns 0 0 0 4.72 KB
#7860 AllCycleMoreComplexBody netcoreapp3.1 9.16μs 46.5ns 218ns 0 0 0 4.62 KB
#7860 AllCycleMoreComplexBody net472 7.71μs 6.91ns 25.9ns 0.737 0 0 4.74 KB
#7860 ObjectExtractorSimpleBody net6.0 338ns 1.59ns 6.34ns 0 0 0 280 B
#7860 ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.19ns 12.8ns 0 0 0 272 B
#7860 ObjectExtractorSimpleBody net472 305ns 0.0267ns 0.0999ns 0.0438 0 0 281 B
#7860 ObjectExtractorMoreComplexBody net6.0 6.31μs 32.1ns 147ns 0 0 0 3.78 KB
#7860 ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 35.5ns 138ns 0 0 0 3.69 KB
#7860 ObjectExtractorMoreComplexBody net472 6.74μs 7.68ns 29.7ns 0.602 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 240ns 930ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.7μs 205ns 796ns 0 0 0 32.4 KB
master EncodeArgs net472 110μs 15.5ns 60.1ns 4.98 0 0 32.51 KB
master EncodeLegacyArgs net6.0 149μs 42ns 151ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 128ns 480ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 264μs 142ns 531ns 0 0 0 2.16 KB
#7860 EncodeArgs net6.0 76.1μs 80.7ns 302ns 0 0 0 32.4 KB
#7860 EncodeArgs netcoreapp3.1 97.7μs 135ns 522ns 0 0 0 32.4 KB
#7860 EncodeArgs net472 109μs 11.2ns 41.8ns 4.9 0 0 32.51 KB
#7860 EncodeLegacyArgs net6.0 151μs 39.2ns 152ns 0 0 0 2.15 KB
#7860 EncodeLegacyArgs netcoreapp3.1 197μs 154ns 554ns 0 0 0 2.14 KB
#7860 EncodeLegacyArgs net472 263μs 33.1ns 128ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 5.14 KB 5.48 KB 336 B 6.53%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 424μs 856ns 3.09μs 0 0 0 5.14 KB
master RunWafRealisticBenchmark netcoreapp3.1 447μs 1.52μs 5.26μs 0 0 0 4.58 KB
master RunWafRealisticBenchmark net472 495μs 433ns 1.56μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 308μs 534ns 1.93μs 0 0 0 3.17 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 367μs 3.92μs 38μs 0 0 0 2.32 KB
master RunWafRealisticBenchmarkWithAttack net472 368μs 307ns 1.11μs 0 0 0 0 b
#7860 RunWafRealisticBenchmark net6.0 436μs 1.35μs 5.05μs 0 0 0 5.48 KB
#7860 RunWafRealisticBenchmark netcoreapp3.1 453μs 2.07μs 12.1μs 0 0 0 4.58 KB
#7860 RunWafRealisticBenchmark net472 494μs 626ns 2.42μs 0 0 0 0 b
#7860 RunWafRealisticBenchmarkWithAttack net6.0 329μs 1.88μs 13.4μs 0 0 0 3.17 KB
#7860 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 332μs 1.84μs 11.5μs 0 0 0 2.32 KB
#7860 RunWafRealisticBenchmarkWithAttack net472 370μs 347ns 1.25μs 0 0 0 0 b
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μs 42.6ns 159ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.4μs 104ns 362ns 0 0 0 17.42 KB
master SendRequest net472 0.16ns 0.00366ns 0.0142ns 0 0 0 0 b
#7860 SendRequest net6.0 61μs 90.8ns 314ns 0 0 0 14.52 KB
#7860 SendRequest netcoreapp3.1 71.5μs 144ns 539ns 0 0 0 17.42 KB
#7860 SendRequest net472 0.164ns 0.00762ns 0.0295ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 976 B 640 B -336 B -34.43%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 688 B 304 B -384 B -55.81%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 2.01ms 445ns 1.6μs 0 0 0 640.3 KB
master OriginalCharSlice netcoreapp3.1 3.97ms 1.07μs 3.99μs 0 0 0 640.1 KB
master OriginalCharSlice net472 2.61ms 816ns 3.16μs 0 0 0 647.17 KB
master OptimizedCharSlice net6.0 1.41ms 688ns 2.67μs 0 0 0 976 B
master OptimizedCharSlice netcoreapp3.1 2.78ms 1.29μs 4.82μs 0 0 0 104 B
master OptimizedCharSlice net472 1.94ms 436ns 1.63μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.01ms 814ns 3.15μs 0 0 0 688 B
master OptimizedCharSliceWithPool netcoreapp3.1 1.86ms 1.8μs 6.72μs 0 0 0 104 B
master OptimizedCharSliceWithPool net472 1.27ms 2.43μs 9.4μs 0 0 0 0 b
#7860 OriginalCharSlice net6.0 2.01ms 2.86μs 11.1μs 0 0 0 640.3 KB
#7860 OriginalCharSlice netcoreapp3.1 3.86ms 2μs 7.76μs 0 0 0 640.1 KB
#7860 OriginalCharSlice net472 2.66ms 749ns 2.8μs 0 0 0 647.17 KB
#7860 OptimizedCharSlice net6.0 1.43ms 532ns 1.99μs 0 0 0 640 B
#7860 OptimizedCharSlice netcoreapp3.1 2.77ms 466ns 1.74μs 0 0 0 104 B
#7860 OptimizedCharSlice net472 1.9ms 475ns 1.78μs 0 0 0 0 b
#7860 OptimizedCharSliceWithPool net6.0 1.06ms 352ns 1.32μs 0 0 0 304 B
#7860 OptimizedCharSliceWithPool netcoreapp3.1 1.86ms 2.19μs 8.49μs 0 0 0 104 B
#7860 OptimizedCharSliceWithPool net472 1.15ms 544ns 2.11μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7860

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.166 768,220.09 658,701.34

More allocations ⚠️ in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.63 KB 41.98 KB 350 B 0.84%

Fewer allocations 🎉 in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 42.36 KB 41.94 KB -413 B -0.98%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 709μs 3.94μs 24.9μs 0 0 0 41.63 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 770μs 2.93μs 13.4μs 0 0 0 42.36 KB
master WriteAndFlushEnrichedTraces net472 861μs 2.69μs 10μs 7.81 0 0 56.03 KB
#7860 WriteAndFlushEnrichedTraces net6.0 681μs 3.58μs 18.6μs 0 0 0 41.98 KB
#7860 WriteAndFlushEnrichedTraces netcoreapp3.1 656μs 1.44μs 12.3μs 0 0 0 41.94 KB
#7860 WriteAndFlushEnrichedTraces net472 921μs 2.57μs 9.94μs 4.46 0 0 56.08 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 2μs 10.5ns 52.3ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.59μs 10.7ns 41.3ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.73μs 1.01ns 3.77ns 0.151 0 0 987 B
#7860 ExecuteNonQuery net6.0 1.93μs 6.72ns 26ns 0 0 0 1.02 KB
#7860 ExecuteNonQuery netcoreapp3.1 2.57μs 7.25ns 27.1ns 0 0 0 1.02 KB
#7860 ExecuteNonQuery net472 2.75μs 3.18ns 12.3ns 0.151 0 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.68μs 9.06ns 48.8ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.33μs 9.54ns 36.9ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.55μs 5.4ns 20.9ns 0.16 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.78μs 8.8ns 37.3ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.46μs 11.4ns 45.5ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.83μs 1.42ns 4.91ns 0.174 0 0 1.1 KB
#7860 CallElasticsearch net6.0 1.83μs 4.71ns 18.2ns 0 0 0 1.03 KB
#7860 CallElasticsearch netcoreapp3.1 2.31μs 8.29ns 32.1ns 0 0 0 1.03 KB
#7860 CallElasticsearch net472 3.67μs 5.92ns 22.9ns 0.149 0 0 1.04 KB
#7860 CallElasticsearchAsync net6.0 1.79μs 8.47ns 31.7ns 0 0 0 1.01 KB
#7860 CallElasticsearchAsync netcoreapp3.1 2.45μs 11.9ns 51.7ns 0 0 0 1.08 KB
#7860 CallElasticsearchAsync net472 3.77μs 1.65ns 6.39ns 0.17 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.89μs 6.44ns 24.9ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.45μs 9.74ns 37.7ns 0 0 0 952 B
master ExecuteAsync net472 2.61μs 3.17ns 12.3ns 0.142 0 0 915 B
#7860 ExecuteAsync net6.0 1.92μs 4.49ns 16.8ns 0 0 0 952 B
#7860 ExecuteAsync netcoreapp3.1 2.33μs 10.8ns 41.7ns 0 0 0 952 B
#7860 ExecuteAsync net472 2.65μs 1.72ns 6.65ns 0.145 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 6.93μs 17.6ns 65.9ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.36μs 23.5ns 90.9ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 8.43ns 31.5ns 0.5 0 0 3.18 KB
#7860 SendAsync net6.0 7.05μs 3.85ns 14.9ns 0 0 0 2.36 KB
#7860 SendAsync netcoreapp3.1 8.92μs 24.1ns 93.5ns 0 0 0 2.9 KB
#7860 SendAsync net472 12μs 8.79ns 32.9ns 0.481 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 256.53 KB 276.16 KB 19.63 KB 7.65%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.42 KB 44.04 KB 624 B 1.44%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.64 KB 44.14 KB 496 B 1.14%

Fewer allocations 🎉 in #7860

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 275.57 KB 273.31 KB -2.26 KB -0.82%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 73.73 KB 57.34 KB -16.38 KB -22.22%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 417.82 KB 278.53 KB -139.29 KB -33.34%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.6μs 144ns 841ns 0 0 0 43.64 KB
master StringConcatBenchmark netcoreapp3.1 50.5μs 295ns 2.49μs 0 0 0 43.42 KB
master StringConcatBenchmark net472 57.6μs 130ns 504ns 0 0 0 73.73 KB
master StringConcatAspectBenchmark net6.0 494μs 1.78μs 6.4μs 0 0 0 275.57 KB
master StringConcatAspectBenchmark netcoreapp3.1 512μs 2.35μs 8.46μs 0 0 0 256.53 KB
master StringConcatAspectBenchmark net472 407μs 2.17μs 15.8μs 0 0 0 417.82 KB
#7860 StringConcatBenchmark net6.0 45.2μs 263ns 2μs 0 0 0 44.14 KB
#7860 StringConcatBenchmark netcoreapp3.1 49.3μs 230ns 830ns 0 0 0 44.04 KB
#7860 StringConcatBenchmark net472 57.4μs 217ns 840ns 0 0 0 57.34 KB
#7860 StringConcatAspectBenchmark net6.0 457μs 1.94μs 6.72μs 0 0 0 273.31 KB
#7860 StringConcatAspectBenchmark netcoreapp3.1 551μs 1.5μs 5.4μs 0 0 0 276.16 KB
#7860 StringConcatAspectBenchmark net472 413μs 2.2μs 12.2μ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.73μs 1.19ns 4.61ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.63μs 15.6ns 60.3ns 0 0 0 1.7 KB
master EnrichedLog net472 3.72μs 2.28ns 8.82ns 0.26 0 0 1.64 KB
#7860 EnrichedLog net6.0 2.77μs 12.8ns 49.7ns 0 0 0 1.7 KB
#7860 EnrichedLog netcoreapp3.1 3.72μs 18.6ns 80.9ns 0 0 0 1.7 KB
#7860 EnrichedLog net472 3.8μs 2.98ns 11.5ns 0.247 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 124μs 80.4ns 290ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 174ns 628ns 0 0 0 4.31 KB
master EnrichedLog net472 168μs 127ns 494ns 0 0 0 4.52 KB
#7860 EnrichedLog net6.0 124μs 80.8ns 313ns 0 0 0 4.31 KB
#7860 EnrichedLog netcoreapp3.1 131μs 434ns 1.56μs 0 0 0 4.31 KB
#7860 EnrichedLog net472 168μs 47.7ns 165ns 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 4.8μs 23.5ns 91.1ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.79μs 17.7ns 68.6ns 0 0 0 2.26 KB
master EnrichedLog net472 7.53μs 8.52ns 33ns 0.302 0 0 2.08 KB
#7860 EnrichedLog net6.0 5.16μs 5.24ns 20.3ns 0 0 0 2.26 KB
#7860 EnrichedLog netcoreapp3.1 6.97μs 4.15ns 15.5ns 0 0 0 2.26 KB
#7860 EnrichedLog net472 7.6μs 7.9ns 30.6ns 0.302 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 1.97μs 1.52ns 5.89ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.49μs 12.1ns 48.5ns 0 0 0 1.2 KB
master SendReceive net472 3.24μs 5.93ns 23ns 0.179 0 0 1.2 KB
#7860 SendReceive net6.0 1.99μs 0.608ns 2.28ns 0 0 0 1.2 KB
#7860 SendReceive netcoreapp3.1 2.53μs 12.6ns 53.6ns 0 0 0 1.2 KB
#7860 SendReceive net472 3.11μs 2.48ns 9.28ns 0.187 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.35μs 1.22ns 4.56ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.98μs 20.3ns 78.7ns 0 0 0 1.63 KB
master EnrichedLog net472 6.46μs 5.54ns 20.7ns 0.321 0 0 2.03 KB
#7860 EnrichedLog net6.0 4.52μs 12.6ns 43.5ns 0 0 0 1.58 KB
#7860 EnrichedLog netcoreapp3.1 5.78μs 13.4ns 50.1ns 0 0 0 1.63 KB
#7860 EnrichedLog net472 6.46μs 7.22ns 28ns 0.321 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 780ns 0.208ns 0.804ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 971ns 5.33ns 30.6ns 0 0 0 576 B
master StartFinishSpan net472 909ns 0.0952ns 0.356ns 0.091 0 0 578 B
master StartFinishScope net6.0 924ns 4.81ns 24.5ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.15μs 5.92ns 26.5ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.311ns 1.21ns 0.0995 0 0 658 B
#7860 StartFinishSpan net6.0 790ns 0.161ns 0.625ns 0 0 0 576 B
#7860 StartFinishSpan netcoreapp3.1 950ns 4.94ns 25.2ns 0 0 0 576 B
#7860 StartFinishSpan net472 940ns 0.118ns 0.427ns 0.087 0 0 578 B
#7860 StartFinishScope net6.0 948ns 0.212ns 0.822ns 0 0 0 696 B
#7860 StartFinishScope netcoreapp3.1 1.15μs 6.28ns 35ns 0 0 0 696 B
#7860 StartFinishScope net472 1.13μs 0.813ns 3.04ns 0.101 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.26ns 21.7ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.4μs 6.19ns 22.3ns 0 0 0 696 B
master RunOnMethodBegin net472 1.45μs 1.54ns 5.95ns 0.102 0 0 658 B
#7860 RunOnMethodBegin net6.0 1.11μs 1.29ns 4.99ns 0 0 0 696 B
#7860 RunOnMethodBegin netcoreapp3.1 1.44μs 6.26ns 24.2ns 0 0 0 696 B
#7860 RunOnMethodBegin net472 1.46μs 0.963ns 3.73ns 0.102 0 0 658 B

@lucaspimentel lucaspimentel requested a review from a team November 26, 2025 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dependabot dependabot updates area:tools dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants