Skip to content

Conversation

@andrewlock
Copy link
Member

Summary of changes

  • Update the JetBrains SelfApi package to latest version
  • Don't run background tasks like remote config, telemetry, discovery service in benchmarks
  • Cleanup "global" tracers after benchmark

Reason for change

Benchmarks should be isolated to keep them consistent, but unfortunately a lot of our code has Tracer.Instance and Security.Instance scattered around. That means we need to set up global state for some of the benchmarks. Currently, we're never cleaning up that global state, which could introduce variance (flake) in the benchmarks).

Similarly, new Tracer instances start a bunch of background tasks, such as remote configuration, telemetry, discovery service. These all have the possibility of skewing results and introducing flake.

Implementation details

  • Cleanup any resources (e.g. Tracer instances, but anything disposable) in [GlobalCleanup]
  • Ensure we remove and replace the global Tracer instances in cleanup
  • Disable services that start background jobs (discovery service, telemetry, remote config)
  • Create a helper for creating a tracer with default benchmarking configuration

Test coverage

This is the test - we may see some variation from the current results, but hopefully the results will be more stable subsequently

Other details

I wish we could not use Tracer.Instance (or Security.Instance, or Iast.Instance) at all. It would make all of this much easier to reason about and reduce the chance of accidental cross-talk. That's something we'll move towards slowly, for now this is probably the best we can do.

@andrewlock andrewlock added the area:benchmarks Benchmarks, throughput tests, Crank, Bombardier, etc label Nov 26, 2025
@andrewlock andrewlock requested review from a team as code owners November 26, 2025 08:04
@github-actions github-actions bot added the area:tests unit tests, integration tests label Nov 26, 2025
@dd-trace-dotnet-ci-bot
Copy link

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7865) 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
duration76.34 ± (76.61 - 77.87) ms75.49 ± (75.35 - 76.06) ms-1.1%
.NET Framework 4.8 - Bailout
duration81.71 ± (81.19 - 82.00) ms79.23 ± (79.35 - 79.96) ms-3.0%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1058.83 ± (1061.66 - 1072.63) ms1049.69 ± (1053.81 - 1064.84) ms-0.9%
.NET Core 3.1 - Baseline
process.internal_duration_ms22.99 ± (22.92 - 23.07) ms22.93 ± (22.85 - 23.01) ms-0.3%
process.time_to_main_ms88.00 ± (87.63 - 88.36) ms87.65 ± (87.38 - 87.91) ms-0.4%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.93 ± (10.92 - 10.93) MB10.93 ± (10.92 - 10.93) MB-0.0%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.87 ± (22.80 - 22.93) ms22.70 ± (22.64 - 22.77) ms-0.7%
process.time_to_main_ms88.62 ± (88.28 - 88.96) ms88.46 ± (88.14 - 88.77) ms-0.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.97 ± (10.97 - 10.97) MB10.96 ± (10.95 - 10.96) MB-0.1%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms221.21 ± (219.80 - 222.62) ms219.59 ± (218.26 - 220.92) ms-0.7%
process.time_to_main_ms502.80 ± (501.68 - 503.93) ms496.98 ± (495.80 - 498.16) ms-1.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.79 ± (47.77 - 47.81) MB47.76 ± (47.74 - 47.78) MB-0.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.1%
.NET 6 - Baseline
process.internal_duration_ms21.71 ± (21.65 - 21.78) ms21.70 ± (21.64 - 21.77) ms-0.0%
process.time_to_main_ms76.11 ± (75.78 - 76.43) ms76.54 ± (76.24 - 76.85) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.62 ± (10.61 - 10.62) MB10.63 ± (10.63 - 10.63) MB+0.1%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.62 ± (21.56 - 21.68) ms21.75 ± (21.68 - 21.82) ms+0.6%✅⬆️
process.time_to_main_ms77.63 ± (77.40 - 77.87) ms77.65 ± (77.34 - 77.96) ms+0.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.66 ± (10.66 - 10.67) MB10.66 ± (10.66 - 10.66) MB-0.0%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms212.71 ± (210.50 - 214.92) ms210.93 ± (209.19 - 212.66) ms-0.8%
process.time_to_main_ms468.61 ± (467.66 - 469.56) ms464.04 ± (463.11 - 464.98) ms-1.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.07 ± (48.04 - 48.09) MB48.09 ± (48.07 - 48.11) MB+0.0%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms19.96 ± (19.90 - 20.02) ms19.86 ± (19.80 - 19.92) ms-0.5%
process.time_to_main_ms76.03 ± (75.71 - 76.34) ms74.77 ± (74.45 - 75.08) ms-1.7%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.66 ± (7.65 - 7.66) MB7.63 ± (7.62 - 7.63) MB-0.3%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.77 ± (19.72 - 19.82) ms19.84 ± (19.78 - 19.90) ms+0.3%✅⬆️
process.time_to_main_ms76.60 ± (76.31 - 76.89) ms76.64 ± (76.34 - 76.94) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.72 ± (7.71 - 7.73) MB7.69 ± (7.68 - 7.70) MB-0.4%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms194.36 ± (193.53 - 195.20) ms190.74 ± (189.84 - 191.64) ms-1.9%
process.time_to_main_ms458.40 ± (457.49 - 459.31) ms451.70 ± (450.71 - 452.69) ms-1.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.51 ± (36.48 - 36.55) MB36.45 ± (36.41 - 36.49) MB-0.2%
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
duration193.00 ± (193.02 - 193.73) ms193.14 ± (192.99 - 193.86) ms+0.1%✅⬆️
.NET Framework 4.8 - Bailout
duration196.66 ± (196.38 - 196.88) ms196.45 ± (196.40 - 196.83) ms-0.1%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1103.80 ± (1107.57 - 1117.12) ms1107.35 ± (1111.39 - 1121.26) ms+0.3%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms187.91 ± (187.47 - 188.35) ms187.80 ± (187.45 - 188.15) ms-0.1%
process.time_to_main_ms81.05 ± (80.82 - 81.28) ms80.38 ± (80.21 - 80.55) ms-0.8%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.12 ± (16.09 - 16.15) MB16.09 ± (16.07 - 16.12) MB-0.2%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (19 - 20)-0.3%
.NET Core 3.1 - Bailout
process.internal_duration_ms187.15 ± (186.89 - 187.42) ms187.01 ± (186.80 - 187.22) ms-0.1%
process.time_to_main_ms82.03 ± (81.87 - 82.19) ms82.11 ± (81.99 - 82.24) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.22 ± (16.17 - 16.26) MB16.20 ± (16.17 - 16.23) MB-0.1%
runtime.dotnet.threads.count20 ± (20 - 21)21 ± (20 - 21)+0.6%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms404.94 ± (402.15 - 407.73) ms400.90 ± (397.93 - 403.86) ms-1.0%
process.time_to_main_ms472.20 ± (471.58 - 472.82) ms471.73 ± (471.05 - 472.42) ms-0.1%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.65 ± (58.54 - 58.77) MB58.20 ± (58.05 - 58.36) MB-0.8%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms192.30 ± (191.93 - 192.67) ms192.15 ± (191.77 - 192.54) ms-0.1%
process.time_to_main_ms70.13 ± (69.97 - 70.28) ms70.08 ± (69.92 - 70.23) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.08 ± (15.93 - 16.22) MB16.13 ± (16.00 - 16.27) MB+0.4%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 19)18 ± (18 - 19)-0.0%
.NET 6 - Bailout
process.internal_duration_ms191.25 ± (190.97 - 191.53) ms191.21 ± (190.97 - 191.45) ms-0.0%
process.time_to_main_ms71.02 ± (70.91 - 71.13) ms70.75 ± (70.67 - 70.83) ms-0.4%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.28 ± (16.15 - 16.41) MB16.22 ± (16.09 - 16.35) MB-0.4%
runtime.dotnet.threads.count19 ± (19 - 20)19 ± (19 - 19)-0.3%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms413.80 ± (410.81 - 416.79) ms417.50 ± (414.65 - 420.35) ms+0.9%✅⬆️
process.time_to_main_ms442.05 ± (441.42 - 442.68) ms441.08 ± (440.50 - 441.67) ms-0.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.75 ± (58.62 - 58.89) MB59.02 ± (58.90 - 59.14) MB+0.5%✅⬆️
runtime.dotnet.threads.count30 ± (30 - 30)29 ± (29 - 30)-0.3%
.NET 8 - Baseline
process.internal_duration_ms190.39 ± (190.11 - 190.68) ms190.80 ± (190.39 - 191.20) ms+0.2%✅⬆️
process.time_to_main_ms69.58 ± (69.39 - 69.77) ms69.69 ± (69.47 - 69.90) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.78 ± (11.75 - 11.81) MB11.74 ± (11.71 - 11.77) MB-0.3%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)-0.4%
.NET 8 - Bailout
process.internal_duration_ms190.22 ± (189.90 - 190.55) ms189.38 ± (189.11 - 189.65) ms-0.4%
process.time_to_main_ms70.73 ± (70.59 - 70.86) ms70.25 ± (70.16 - 70.33) ms-0.7%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.81 ± (11.78 - 11.84) MB11.83 ± (11.80 - 11.87) MB+0.2%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.7%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms366.87 ± (365.36 - 368.39) ms365.24 ± (363.61 - 366.86) ms-0.4%
process.time_to_main_ms428.95 ± (428.39 - 429.51) ms428.63 ± (428.08 - 429.18) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.76 ± (47.73 - 47.78) MB47.82 ± (47.79 - 47.85) MB+0.1%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.2%✅⬆️
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 (7865) - mean (76ms)  : 70, 81
    master - mean (77ms)  : 67, 87

    section Bailout
    This PR (7865) - mean (80ms)  : 75, 84
    master - mean (82ms)  : 75, 88

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (1,059ms)  : 978, 1140
    master - mean (1,067ms)  : 986, 1148

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 (7865) - mean (118ms)  : 112, 124
    master - mean (119ms)  : 112, 125

    section Bailout
    This PR (7865) - mean (119ms)  : 113, 124
    master - mean (119ms)  : 113, 125

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (751ms)  : 700, 801
    master - mean (765ms)  : 723, 807

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7865) - mean (105ms)  : 99, 111
    master - mean (105ms)  : 99, 111

    section Bailout
    This PR (7865) - mean (106ms)  : 100, 113
    master - mean (106ms)  : 102, 111

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (705ms)  : 664, 747
    master - mean (712ms)  : 668, 756

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7865) - mean (103ms)  : 97, 109
    master - mean (105ms)  : 99, 110

    section Bailout
    This PR (7865) - mean (105ms)  : 99, 111
    master - mean (105ms)  : 99, 111

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (674ms)  : 641, 708
    master - mean (695ms)  : 668, 721

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 (7865) - mean (193ms)  : 189, 198
    master - mean (193ms)  : 190, 197

    section Bailout
    This PR (7865) - mean (197ms)  : 195, 199
    master - mean (197ms)  : 194, 199

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (1,116ms)  : 1044, 1189
    master - mean (1,112ms)  : 1042, 1183

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 (7865) - mean (277ms)  : 272, 281
    master - mean (277ms)  : 272, 283

    section Bailout
    This PR (7865) - mean (277ms)  : 275, 279
    master - mean (277ms)  : 274, 281

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (907ms)  : 859, 956
    master - mean (912ms)  : 861, 963

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

    section Bailout
    This PR (7865) - mean (270ms)  : 268, 273
    master - mean (270ms)  : 267, 273

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (889ms)  : 838, 941
    master - mean (891ms)  : 836, 945

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

    section Bailout
    This PR (7865) - mean (269ms)  : 266, 272
    master - mean (270ms)  : 265, 276

    section CallTarget+Inlining+NGEN
    This PR (7865) - mean (826ms)  : 807, 844
    master - mean (827ms)  : 807, 847

Loading

@pr-commenter
Copy link

pr-commenter bot commented Nov 26, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7865 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.146
  • 2 benchmarks are slower, with geometric mean 1.372
  • 31 benchmarks have fewer allocations
  • 7 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 - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.07 KB 0 b -6.07 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.2μs 56.6ns 335ns 0 0 0 5.52 KB
master StartStopWithChild netcoreapp3.1 13.9μs 69.1ns 324ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.4μs 121ns 663ns 0.914 0.229 0 6.07 KB
#7865 StartStopWithChild net6.0 10.6μs 58.5ns 351ns 0 0 0 5.52 KB
#7865 StartStopWithChild netcoreapp3.1 13.6μs 73ns 379ns 0 0 0 5.72 KB
#7865 StartStopWithChild net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.AgentWriterBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.31 KB 0 b -3.31 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 935μs 465ns 1.8μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 836ns 3.24μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 1.26μs 4.71μs 0 0 0 3.31 KB
#7865 WriteAndFlushEnrichedTraces net6.0 936μs 32.8ns 127ns 0 0 0 2.7 KB
#7865 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 73.7ns 276ns 0 0 0 2.7 KB
#7865 WriteAndFlushEnrichedTraces net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody‑net472 1.23 KB 0 b -1.23 KB -100.00%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody‑net472 4.74 KB 0 b -4.74 KB -100.00%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net472 281 B 0 b -281 B -100.00%
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody‑net472 3.8 KB 0 b -3.8 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.1μs 1.56ns 6.03ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.41μs 7.97ns 52.2ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.03μs 2.6ns 10.1ns 0.193 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.4μs 5.62ns 21.8ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.06μs 43.5ns 185ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.69μs 4.77ns 18.5ns 0.731 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 341ns 1.66ns 6.84ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.15ns 11.9ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 300ns 0.0279ns 0.108ns 0.0443 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.34μs 29.2ns 117ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.79μs 38.5ns 149ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 1.6ns 6ns 0.601 0 0 3.8 KB
#7865 AllCycleSimpleBody net6.0 1.06μs 0.738ns 2.86ns 0 0 0 1.22 KB
#7865 AllCycleSimpleBody netcoreapp3.1 1.39μs 8.06ns 63.4ns 0 0 0 1.2 KB
#7865 AllCycleSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 AllCycleMoreComplexBody net6.0 7.05μs 34.8ns 156ns 0 0 0 4.72 KB
#7865 AllCycleMoreComplexBody netcoreapp3.1 9.07μs 43.3ns 184ns 0 0 0 4.62 KB
#7865 AllCycleMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 ObjectExtractorSimpleBody net6.0 329ns 0.104ns 0.401ns 0 0 0 280 B
#7865 ObjectExtractorSimpleBody netcoreapp3.1 399ns 2ns 8.49ns 0 0 0 272 B
#7865 ObjectExtractorSimpleBody net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 ObjectExtractorMoreComplexBody net6.0 6.46μs 29ns 112ns 0 0 0 3.78 KB
#7865 ObjectExtractorMoreComplexBody netcoreapp3.1 7.85μs 37ns 143ns 0 0 0 3.69 KB
#7865 ObjectExtractorMoreComplexBody net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeArgs‑net472 32.51 KB 0 b -32.51 KB -100.00%
Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs‑net472 2.16 KB 0 b -2.16 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 76.6μs 21.6ns 77.9ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.3μs 286ns 1.11μs 0 0 0 32.4 KB
master EncodeArgs net472 112μs 18.7ns 72.2ns 5.02 0 0 32.51 KB
master EncodeLegacyArgs net6.0 143μs 89.3ns 346ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 201μs 436ns 1.69μs 0 0 0 2.14 KB
master EncodeLegacyArgs net472 265μs 69.1ns 258ns 0 0 0 2.16 KB
#7865 EncodeArgs net6.0 76.6μs 135ns 504ns 0 0 0 32.4 KB
#7865 EncodeArgs netcoreapp3.1 97.7μs 230ns 892ns 0 0 0 32.4 KB
#7865 EncodeArgs net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 EncodeLegacyArgs net6.0 144μs 28ns 105ns 0 0 0 2.15 KB
#7865 EncodeLegacyArgs netcoreapp3.1 199μs 194ns 752ns 0 0 0 2.14 KB
#7865 EncodeLegacyArgs net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Asm.AppSecWafBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 5.48 KB 5.77 KB 288 B 5.26%

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net6.0 3.79 KB 2.54 KB -1.25 KB -32.91%
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net472 8.19 KB 0 b -8.19 KB -100.00%
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net472 8.19 KB 0 b -8.19 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 424μs 830ns 2.99μs 0 0 0 5.48 KB
master RunWafRealisticBenchmark netcoreapp3.1 465μs 2.95μs 28.3μs 0 0 0 4.58 KB
master RunWafRealisticBenchmark net472 496μs 603ns 2.33μs 0 0 0 8.19 KB
master RunWafRealisticBenchmarkWithAttack net6.0 313μs 923ns 3.81μs 0 0 0 3.79 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 367μs 3.77μs 36.6μs 0 0 0 2.32 KB
master RunWafRealisticBenchmarkWithAttack net472 372μs 265ns 954ns 0 0 0 8.19 KB
#7865 RunWafRealisticBenchmark net6.0 425μs 1.01μs 3.64μs 0 0 0 5.77 KB
#7865 RunWafRealisticBenchmark netcoreapp3.1 466μs 3.07μs 28.7μs 0 0 0 4.58 KB
#7865 RunWafRealisticBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 RunWafRealisticBenchmarkWithAttack net6.0 308μs 724ns 2.71μs 0 0 0 2.54 KB
#7865 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 340μs 1.6μs 5.98μs 0 0 0 2.32 KB
#7865 RunWafRealisticBenchmarkWithAttack net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7865

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 1.392 60,225.07 83,854.58
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 1.352 71,347.64 96,497.13

More allocations ⚠️ in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑net6.0 14.52 KB 19.04 KB 4.51 KB 31.09%
Benchmarks.Trace.AspNetCoreBenchmark.SendRequest‑netcoreapp3.1 17.42 KB 21.28 KB 3.86 KB 22.19%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 60.3μs 100ns 360ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.5μs 205ns 895ns 0 0 0 17.42 KB
master SendRequest net472 0.155ns 0.00363ns 0.0141ns 0 0 0 0 b
#7865 SendRequest net6.0 84.6μs 433ns 1.98μs 0 0 0 19.04 KB
#7865 SendRequest netcoreapp3.1 98.5μs 561ns 4.08μs 0 0 0 21.28 KB
#7865 SendRequest net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.CharSliceBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 304 B 976 B 672 B 221.05%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 640 B 976 B 336 B 52.50%

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice‑net472 647.17 KB 0 b -647.17 KB -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 8.19 KB 0 b -8.19 KB -100.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 8.19 KB 0 b -8.19 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.89ms 651ns 2.35μs 0 0 0 640.3 KB
master OriginalCharSlice netcoreapp3.1 3.92ms 1.67μs 6.45μs 0 0 0 640.1 KB
master OriginalCharSlice net472 2.59ms 418ns 1.51μs 0 0 0 647.17 KB
master OptimizedCharSlice net6.0 1.48ms 921ns 3.45μs 0 0 0 304 B
master OptimizedCharSlice netcoreapp3.1 2.77ms 941ns 3.52μs 0 0 0 104 B
master OptimizedCharSlice net472 2ms 970ns 3.76μs 0 0 0 8.19 KB
master OptimizedCharSliceWithPool net6.0 1ms 364ns 1.31μs 0 0 0 640 B
master OptimizedCharSliceWithPool netcoreapp3.1 1.86ms 1.58μs 6.1μs 0 0 0 104 B
master OptimizedCharSliceWithPool net472 1.13ms 479ns 1.85μs 0 0 0 8.19 KB
#7865 OriginalCharSlice net6.0 1.96ms 1.92μs 6.92μs 0 0 0 640.3 KB
#7865 OriginalCharSlice netcoreapp3.1 3.96ms 965ns 3.61μs 0 0 0 640.1 KB
#7865 OriginalCharSlice net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 OptimizedCharSlice net6.0 1.51ms 2.26μs 8.74μs 0 0 0 976 B
#7865 OptimizedCharSlice netcoreapp3.1 2.85ms 1.45μs 5.43μs 0 0 0 104 B
#7865 OptimizedCharSlice net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 OptimizedCharSliceWithPool net6.0 1.04ms 967ns 3.62μs 0 0 0 976 B
#7865 OptimizedCharSliceWithPool netcoreapp3.1 1.88ms 1.52μs 5.89μs 0 0 0 104 B
#7865 OptimizedCharSliceWithPool net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7865

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.175 804,968.75 685,355.62

More allocations ⚠️ in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.8 KB 42.09 KB 288 B 0.69%

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.91 KB 0 b -55.91 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 654μs 3.07μs 11.5μs 0 0 0 42.55 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 803μs 3.78μs 14.6μs 0 0 0 41.8 KB
master WriteAndFlushEnrichedTraces net472 923μs 2.56μs 9.57μs 8.33 0 0 55.91 KB
#7865 WriteAndFlushEnrichedTraces net6.0 695μs 3.6μs 16.5μs 0 0 0 42.58 KB
#7865 WriteAndFlushEnrichedTraces netcoreapp3.1 681μs 3.48μs 16.3μs 0 0 0 42.09 KB
#7865 WriteAndFlushEnrichedTraces net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.DbCommandBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 987 B 0 b -987 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.92μs 7.06ns 26.4ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.59μs 5.44ns 21.1ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.72μs 0.557ns 2.09ns 0.149 0 0 987 B
#7865 ExecuteNonQuery net6.0 1.92μs 5.65ns 21.9ns 0 0 0 1.02 KB
#7865 ExecuteNonQuery netcoreapp3.1 2.56μs 8.76ns 32.8ns 0 0 0 1.02 KB
#7865 ExecuteNonQuery net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.ElasticsearchBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.04 KB 0 b -1.04 KB -100.00%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.1 KB 0 b -1.1 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.77μs 8.1ns 31.4ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.31μs 11ns 46.8ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.53μs 5.31ns 20.6ns 0.158 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.83μs 9.71ns 47.6ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.43μs 1.47ns 5.49ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.66μs 4.36ns 16.9ns 0.165 0 0 1.1 KB
#7865 CallElasticsearch net6.0 1.76μs 2.09ns 8.11ns 0 0 0 1.03 KB
#7865 CallElasticsearch netcoreapp3.1 2.25μs 11.4ns 51ns 0 0 0 1.03 KB
#7865 CallElasticsearch net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 CallElasticsearchAsync net6.0 1.84μs 6.11ns 22.9ns 0 0 0 1.01 KB
#7865 CallElasticsearchAsync netcoreapp3.1 2.38μs 11.3ns 43.6ns 0 0 0 1.08 KB
#7865 CallElasticsearchAsync net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.GraphQLBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 915 B 0 b -915 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.88μs 0.882ns 3.42ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.35μs 1.18ns 4.58ns 0 0 0 952 B
master ExecuteAsync net472 2.6μs 0.491ns 1.84ns 0.143 0 0 915 B
#7865 ExecuteAsync net6.0 1.97μs 1.59ns 5.73ns 0 0 0 952 B
#7865 ExecuteAsync netcoreapp3.1 2.55μs 11.8ns 45.9ns 0 0 0 952 B
#7865 ExecuteAsync net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.HttpClientBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 3.18 KB 0 b -3.18 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.86μs 14.8ns 55.4ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.59μs 26ns 101ns 0 0 0 2.9 KB
master SendAsync net472 12.2μs 5.67ns 22ns 0.487 0 0 3.18 KB
#7865 SendAsync net6.0 6.91μs 5.92ns 22.9ns 0 0 0 2.36 KB
#7865 SendAsync netcoreapp3.1 8.53μs 24.6ns 95.1ns 0 0 0 2.9 KB
#7865 SendAsync net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Iast.StringAspectsBenchmark - Unknown 🤷 More allocations ⚠️

More allocations ⚠️ in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 274.3 KB 278.61 KB 4.3 KB 1.57%

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.86 KB 42.64 KB -216 B -0.50%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 65.54 KB 0 b -65.54 KB -100.00%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 275.84 KB 0 b -275.84 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.1μs 226ns 1.01μs 0 0 0 43.87 KB
master StringConcatBenchmark netcoreapp3.1 50.2μs 402ns 3.79μs 0 0 0 42.86 KB
master StringConcatBenchmark net472 58μs 235ns 908ns 0 0 0 65.54 KB
master StringConcatAspectBenchmark net6.0 462μs 1.83μs 6.59μs 0 0 0 274.3 KB
master StringConcatAspectBenchmark netcoreapp3.1 518μs 1.64μs 6.57μs 0 0 0 275.52 KB
master StringConcatAspectBenchmark net472 406μs 2.16μs 15.4μs 0 0 0 275.84 KB
#7865 StringConcatBenchmark net6.0 44.7μs 252ns 1.78μs 0 0 0 43.86 KB
#7865 StringConcatBenchmark netcoreapp3.1 49.2μs 282ns 1.91μs 0 0 0 42.64 KB
#7865 StringConcatBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 StringConcatAspectBenchmark net6.0 495μs 2.04μs 7.35μs 0 0 0 278.61 KB
#7865 StringConcatAspectBenchmark netcoreapp3.1 535μs 1.81μs 7.88μs 0 0 0 274.16 KB
#7865 StringConcatAspectBenchmark net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.ILoggerBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ILoggerBenchmark.EnrichedLog‑net472 1.64 KB 0 b -1.64 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.79μs 11.4ns 44.2ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.66μs 16ns 62ns 0 0 0 1.7 KB
master EnrichedLog net472 3.7μs 2.04ns 7.92ns 0.258 0 0 1.64 KB
#7865 EnrichedLog net6.0 2.74μs 13.2ns 52.9ns 0 0 0 1.7 KB
#7865 EnrichedLog netcoreapp3.1 3.66μs 16.9ns 65.6ns 0 0 0 1.7 KB
#7865 EnrichedLog net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.Log4netBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Log4netBenchmark.EnrichedLog‑net472 4.52 KB 0 b -4.52 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 124μs 170ns 588ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 390ns 1.41μs 0 0 0 4.31 KB
master EnrichedLog net472 171μs 677ns 2.34μs 0 0 0 4.52 KB
#7865 EnrichedLog net6.0 123μs 122ns 441ns 0 0 0 4.31 KB
#7865 EnrichedLog netcoreapp3.1 128μs 220ns 825ns 0 0 0 4.31 KB
#7865 EnrichedLog net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.NLogBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net472 2.08 KB 0 b -2.08 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 5.12μs 16.5ns 61.7ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.63μs 12.9ns 50.1ns 0 0 0 2.26 KB
master EnrichedLog net472 7.5μs 3.94ns 13.7ns 0.299 0 0 2.08 KB
#7865 EnrichedLog net6.0 4.91μs 22.8ns 91.2ns 0 0 0 2.26 KB
#7865 EnrichedLog netcoreapp3.1 6.96μs 27.9ns 108ns 0 0 0 2.26 KB
#7865 EnrichedLog net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.RedisBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.2 KB 0 b -1.2 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2.01μs 9.19ns 36.7ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.58μs 11ns 42.6ns 0 0 0 1.2 KB
master SendReceive net472 3μs 6.33ns 24.5ns 0.178 0 0 1.2 KB
#7865 SendReceive net6.0 1.99μs 10.4ns 51ns 0 0 0 1.2 KB
#7865 SendReceive netcoreapp3.1 2.63μs 12.3ns 47.7ns 0 0 0 1.2 KB
#7865 SendReceive net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.SerilogBenchmark - Faster 🎉 Fewer allocations 🎉

Faster 🎉 in #7865

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net6.0 1.119 4,895.85 4,375.25

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SerilogBenchmark.EnrichedLog‑net472 2.03 KB 0 b -2.03 KB -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.88μs 18.2ns 70.4ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.93μs 9.42ns 35.3ns 0 0 0 1.63 KB
master EnrichedLog net472 6.42μs 5.33ns 19.9ns 0.319 0 0 2.03 KB
#7865 EnrichedLog net6.0 4.37μs 12.2ns 45.5ns 0 0 0 1.58 KB
#7865 EnrichedLog netcoreapp3.1 5.73μs 8.23ns 30.8ns 0 0 0 1.63 KB
#7865 EnrichedLog net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.SpanBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 578 B 0 b -578 B -100.00%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 658 B 0 b -658 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 799ns 0.185ns 0.715ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 965ns 5.01ns 23.5ns 0 0 0 576 B
master StartFinishSpan net472 905ns 0.201ns 0.695ns 0.0908 0 0 578 B
master StartFinishScope net6.0 937ns 0.445ns 1.67ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.19μs 5.43ns 21ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.179ns 0.693ns 0.0996 0 0 658 B
#7865 StartFinishSpan net6.0 802ns 4.12ns 19.3ns 0 0 0 576 B
#7865 StartFinishSpan netcoreapp3.1 965ns 4.31ns 16.7ns 0 0 0 576 B
#7865 StartFinishSpan net472 N/A N/A N/A NaN NaN NaN 0 b
#7865 StartFinishScope net6.0 933ns 4.77ns 21.9ns 0 0 0 696 B
#7865 StartFinishScope netcoreapp3.1 1.15μs 5.56ns 22.9ns 0 0 0 696 B
#7865 StartFinishScope net472 N/A N/A N/A NaN NaN NaN 0 b
Benchmarks.Trace.TraceAnnotationsBenchmark - Unknown 🤷 Fewer allocations 🎉

Fewer allocations 🎉 in #7865

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 658 B 0 b -658 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.08μs 0.99ns 3.83ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.43μs 0.831ns 3.22ns 0 0 0 696 B
master RunOnMethodBegin net472 1.4μs 1.42ns 5.49ns 0.104 0 0 658 B
#7865 RunOnMethodBegin net6.0 1.08μs 4.56ns 17.7ns 0 0 0 696 B
#7865 RunOnMethodBegin netcoreapp3.1 1.38μs 4.6ns 17.8ns 0 0 0 696 B
#7865 RunOnMethodBegin net472 N/A N/A N/A NaN NaN NaN 0 b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:benchmarks Benchmarks, throughput tests, Crank, Bombardier, etc area:tests unit tests, integration tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants