Skip to content

Conversation

@igoragoli
Copy link
Contributor

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

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

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

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 shown 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).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (71ms)  : 70, 72
     .   : milestone, 71,
    master - mean (71ms)  : 70, 72
     .   : milestone, 71,

    section Baseline
    This PR (7682) - mean (68ms)  : 66, 69
     .   : milestone, 68,
    master - mean (68ms)  : 66, 69
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (1,045ms)  : 996, 1095
     .   : milestone, 1045,
    master - mean (1,040ms)  : 997, 1083
     .   : milestone, 1040,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (105ms)  : 104, 107
     .   : milestone, 105,
    master - mean (105ms)  : 104, 107
     .   : milestone, 105,

    section Baseline
    This PR (7682) - mean (105ms)  : 102, 107
     .   : milestone, 105,
    master - mean (105ms)  : 102, 107
     .   : milestone, 105,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (742ms)  : 714, 770
     .   : milestone, 742,
    master - mean (739ms)  : 717, 762
     .   : milestone, 739,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (93ms)  : 92, 95
     .   : milestone, 93,
    master - mean (94ms)  : 93, 95
     .   : milestone, 94,

    section Baseline
    This PR (7682) - mean (93ms)  : 91, 95
     .   : milestone, 93,
    master - mean (93ms)  : 91, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (705ms)  : 669, 740
     .   : milestone, 705,
    master - mean (701ms)  : 676, 727
     .   : milestone, 701,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (92ms)  : 91, 93
     .   : milestone, 92,
    master - mean (92ms)  : 91, 93
     .   : milestone, 92,

    section Baseline
    This PR (7682) - mean (92ms)  : 90, 94
     .   : milestone, 92,
    master - mean (91ms)  : 89, 93
     .   : milestone, 91,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (657ms)  : 644, 670
     .   : milestone, 657,
    master - mean (658ms)  : 644, 673
     .   : milestone, 658,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (195ms)  : 192, 198
     .   : milestone, 195,
    master - mean (196ms)  : 193, 199
     .   : milestone, 196,

    section Baseline
    This PR (7682) - mean (193ms)  : 188, 197
     .   : milestone, 193,
    master - mean (192ms)  : 188, 196
     .   : milestone, 192,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (1,165ms)  : 1106, 1223
     .   : milestone, 1165,
    master - mean (1,164ms)  : 1108, 1220
     .   : milestone, 1164,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (277ms)  : 271, 283
     .   : milestone, 277,
    master - mean (277ms)  : 273, 281
     .   : milestone, 277,

    section Baseline
    This PR (7682) - mean (275ms)  : 270, 280
     .   : milestone, 275,
    master - mean (277ms)  : 271, 282
     .   : milestone, 277,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (944ms)  : 896, 992
     .   : milestone, 944,
    master - mean (945ms)  : 897, 994
     .   : milestone, 945,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (269ms)  : 266, 272
     .   : milestone, 269,
    master - mean (270ms)  : 261, 279
     .   : milestone, 270,

    section Baseline
    This PR (7682) - mean (270ms)  : 266, 273
     .   : milestone, 270,
    master - mean (269ms)  : 264, 274
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (932ms)  : 879, 984
     .   : milestone, 932,
    master - mean (929ms)  : 872, 986
     .   : milestone, 929,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7682) - mean (274ms)  : 268, 280
     .   : milestone, 274,
    master - mean (268ms)  : 265, 271
     .   : milestone, 268,

    section Baseline
    This PR (7682) - mean (271ms)  : 263, 279
     .   : milestone, 271,
    master - mean (269ms)  : 263, 274
     .   : milestone, 269,

    section CallTarget+Inlining+NGEN
    This PR (7682) - mean (864ms)  : 841, 887
     .   : milestone, 864,
    master - mean (853ms)  : 838, 869
     .   : milestone, 853,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Oct 21, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7682 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.480
  • 2 benchmarks are slower, with geometric mean 1.533
  • 8 benchmarks have fewer allocations
  • 1 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7682

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.13 KB 6.06 KB -65 B -1.06%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.8μs 55.6ns 261ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.7μs 69.3ns 310ns 0 0 0 5.73 KB
master StartStopWithChild net472 22μs 115ns 551ns 0.873 0.218 0 6.13 KB
#7682 StartStopWithChild net6.0 10.6μs 58.7ns 389ns 0 0 0 5.52 KB
#7682 StartStopWithChild netcoreapp3.1 14.1μs 51.6ns 200ns 0 0 0 5.73 KB
#7682 StartStopWithChild net472 22.5μs 121ns 672ns 1.06 0.319 0.106 6.06 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 948μs 285ns 1.07μs 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 34.1ns 118ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.19ms 816ns 3.16μs 0 0 0 3.31 KB
#7682 WriteAndFlushEnrichedTraces net6.0 946μs 40.1ns 150ns 0 0 0 2.71 KB
#7682 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 35.7ns 133ns 0 0 0 2.7 KB
#7682 WriteAndFlushEnrichedTraces net472 1.19ms 229ns 888ns 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 353μs 1.61μs 6.01μs 0 0 0 179.56 KB
master AllCycleSimpleBody netcoreapp3.1 532μs 1.41μs 5.45μs 0 0 0 185.32 KB
master AllCycleSimpleBody net472 469μs 146ns 545ns 32.4 0 0 205.41 KB
master AllCycleMoreComplexBody net6.0 359μs 1.68μs 6.71μs 0 0 0 183.09 KB
master AllCycleMoreComplexBody netcoreapp3.1 508μs 2.43μs 11.1μs 0 0 0 188.75 KB
master AllCycleMoreComplexBody net472 478μs 165ns 594ns 32.4 0 0 208.94 KB
master ObjectExtractorSimpleBody net6.0 317ns 1.77ns 11.3ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 399ns 2.13ns 10.4ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 299ns 0.0826ns 0.309ns 0.0436 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.23μs 1.66ns 6.21ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.79μs 39.8ns 191ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 5.75ns 22.3ns 0.598 0 0 3.8 KB
#7682 AllCycleSimpleBody net6.0 360μs 427ns 1.6μs 0 0 0 179.57 KB
#7682 AllCycleSimpleBody netcoreapp3.1 508μs 267ns 999ns 0 0 0 185.32 KB
#7682 AllCycleSimpleBody net472 468μs 118ns 443ns 32.4 0 0 205.41 KB
#7682 AllCycleMoreComplexBody net6.0 364μs 1.7μs 6.37μs 0 0 0 183.08 KB
#7682 AllCycleMoreComplexBody netcoreapp3.1 502μs 1.86μs 7.21μs 0 0 0 188.75 KB
#7682 AllCycleMoreComplexBody net472 476μs 111ns 431ns 32.4 0 0 208.94 KB
#7682 ObjectExtractorSimpleBody net6.0 334ns 1.84ns 10.2ns 0 0 0 280 B
#7682 ObjectExtractorSimpleBody netcoreapp3.1 393ns 2.17ns 12.8ns 0 0 0 272 B
#7682 ObjectExtractorSimpleBody net472 301ns 0.0216ns 0.0807ns 0.044 0 0 281 B
#7682 ObjectExtractorMoreComplexBody net6.0 6.48μs 7.52ns 27.1ns 0 0 0 3.78 KB
#7682 ObjectExtractorMoreComplexBody netcoreapp3.1 7.83μs 38.3ns 167ns 0 0 0 3.69 KB
#7682 ObjectExtractorMoreComplexBody net472 6.65μs 2.58ns 9.64ns 0.598 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 234ns 906ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97μs 154ns 596ns 0 0 0 32.4 KB
master EncodeArgs net472 110μs 17.5ns 67.7ns 4.95 0 0 32.51 KB
master EncodeLegacyArgs net6.0 146μs 168ns 652ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 194μs 147ns 570ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 261μs 25.4ns 98.5ns 0 0 0 2.16 KB
#7682 EncodeArgs net6.0 76μs 115ns 444ns 0 0 0 32.4 KB
#7682 EncodeArgs netcoreapp3.1 97.9μs 18.3ns 68.3ns 0 0 0 32.4 KB
#7682 EncodeArgs net472 109μs 19.8ns 76.8ns 4.89 0 0 32.51 KB
#7682 EncodeLegacyArgs net6.0 144μs 159ns 597ns 0 0 0 2.14 KB
#7682 EncodeLegacyArgs netcoreapp3.1 199μs 185ns 718ns 0 0 0 2.14 KB
#7682 EncodeLegacyArgs net472 264μs 49.5ns 192ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7682

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.081 411,233.12 855,648.92

Faster 🎉 in #7682

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.420 720,195.07 297,629.99

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 59.7ns 231ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 411μs 51.8ns 180ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 427μs 26.7ns 96.3ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 285μs 27.5ns 103ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 717μs 3.06μs 13.3μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 308μs 27.9ns 108ns 0 0 0 2.29 KB
#7682 RunWafRealisticBenchmark net6.0 388μs 36ns 139ns 0 0 0 4.55 KB
#7682 RunWafRealisticBenchmark netcoreapp3.1 841μs 6.05μs 59.3μs 0 0 0 4.48 KB
#7682 RunWafRealisticBenchmark net472 427μs 129ns 498ns 0 0 0 4.66 KB
#7682 RunWafRealisticBenchmarkWithAttack net6.0 285μs 48.1ns 180ns 0 0 0 2.24 KB
#7682 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 298μs 45.4ns 170ns 0 0 0 2.22 KB
#7682 RunWafRealisticBenchmarkWithAttack net472 309μs 31.3ns 121ns 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 60.4μs 52.5ns 203ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.1μs 118ns 441ns 0 0 0 17.42 KB
master SendRequest net472 0.00234ns 0.00128ns 0.00497ns 0 0 0 0 b
#7682 SendRequest net6.0 62.2μs 58.5ns 211ns 0 0 0 14.52 KB
#7682 SendRequest netcoreapp3.1 72.4μs 53.8ns 201ns 0 0 0 17.42 KB
#7682 SendRequest net472 0.00668ns 0.00173ns 0.0067ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7682

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1 B 4 B 3 B 300.00%

Fewer allocations 🎉 in #7682

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 51 B 47 B -4 B -7.84%
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.85ms 5.6μs 21.7μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.14ms 3.86μs 15μs 0 0 0 640 KB
master OriginalCharSlice net472 2.61ms 556ns 2.08μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.49ms 225ns 873ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.67ms 377ns 1.46μs 0 0 0 1 B
master OptimizedCharSlice net472 1.9ms 322ns 1.25μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 844μs 17.4ns 65.3ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 828μs 98.9ns 383ns 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.17ms 118ns 457ns 0 0 0 51 B
#7682 OriginalCharSlice net6.0 1.89ms 6.2μs 23.2μs 0 0 0 640.01 KB
#7682 OriginalCharSlice netcoreapp3.1 2.1ms 6.11μs 23.7μs 0 0 0 640 KB
#7682 OriginalCharSlice net472 2.64ms 144ns 521ns 100 0 0 641.95 KB
#7682 OptimizedCharSlice net6.0 1.42ms 437ns 1.69μs 0 0 0 7 B
#7682 OptimizedCharSlice netcoreapp3.1 1.69ms 487ns 1.76μs 0 0 0 1 B
#7682 OptimizedCharSlice net472 1.93ms 293ns 1.13μs 0 0 0 73 B
#7682 OptimizedCharSliceWithPool net6.0 845μs 27ns 104ns 0 0 0 4 B
#7682 OptimizedCharSliceWithPool netcoreapp3.1 817μs 22.1ns 85.4ns 0 0 0 0 b
#7682 OptimizedCharSliceWithPool net472 1.18ms 85.2ns 330ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ Fewer allocations 🎉

Slower ⚠️ in #7682

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.129 666,119.95 752,024.78

Faster 🎉 in #7682

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.191 1,014,260.21 851,702.73
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.125 758,209.19 674,241.25

Fewer allocations 🎉 in #7682

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 56.32 KB 55.65 KB -673 B -1.19%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.62 KB 41.76 KB -852 B -2.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 757μs 2.57μs 9.94μs 0 0 0 42.62 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 672μs 3.27μs 13.5μs 0 0 0 42.06 KB
master WriteAndFlushEnrichedTraces net472 1.01ms 4.68μs 17.5μs 8.33 0 0 56.32 KB
#7682 WriteAndFlushEnrichedTraces net6.0 674μs 3.11μs 11.6μs 0 0 0 41.76 KB
#7682 WriteAndFlushEnrichedTraces netcoreapp3.1 753μs 1.28μs 4.6μs 0 0 0 41.97 KB
#7682 WriteAndFlushEnrichedTraces net472 853μs 2.69μs 9.68μs 7.81 0 0 55.65 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.96μs 4.59ns 17.2ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.58μs 3.88ns 15ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.85μs 13.8ns 60.3ns 0.155 0.0141 0 987 B
#7682 ExecuteNonQuery net6.0 1.92μs 1.59ns 6.16ns 0 0 0 1.02 KB
#7682 ExecuteNonQuery netcoreapp3.1 2.54μs 11ns 42.6ns 0 0 0 1.02 KB
#7682 ExecuteNonQuery net472 2.85μs 4.93ns 19.1ns 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.82μs 7.92ns 29.6ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.32μs 7.45ns 28.8ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.51μs 1.27ns 4.75ns 0.158 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.9μs 9.47ns 40.2ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.43μs 11.5ns 42.9ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.7μs 5.37ns 20.8ns 0.167 0 0 1.1 KB
#7682 CallElasticsearch net6.0 1.8μs 8.82ns 36.3ns 0 0 0 1.03 KB
#7682 CallElasticsearch netcoreapp3.1 2.25μs 5.4ns 20.2ns 0 0 0 1.03 KB
#7682 CallElasticsearch net472 3.56μs 3.24ns 11.7ns 0.16 0 0 1.04 KB
#7682 CallElasticsearchAsync net6.0 1.9μs 9.27ns 39.3ns 0 0 0 1.01 KB
#7682 CallElasticsearchAsync netcoreapp3.1 2.46μs 8.8ns 32.9ns 0 0 0 1.08 KB
#7682 CallElasticsearchAsync net472 3.69μs 4.91ns 19ns 0.167 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.88μs 1.22ns 4.73ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.38μs 9.39ns 36.4ns 0 0 0 952 B
master ExecuteAsync net472 2.57μs 1.2ns 4.65ns 0.142 0 0 915 B
#7682 ExecuteAsync net6.0 1.76μs 7.6ns 29.4ns 0 0 0 952 B
#7682 ExecuteAsync netcoreapp3.1 2.31μs 8.67ns 31.3ns 0 0 0 952 B
#7682 ExecuteAsync net472 2.61μs 3.84ns 14.9ns 0.142 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.9μs 18.5ns 71.7ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.76μs 8.07ns 31.2ns 0 0 0 2.9 KB
master SendAsync net472 12.4μs 9.57ns 37.1ns 0.5 0 0 3.18 KB
#7682 SendAsync net6.0 6.8μs 10.4ns 39.1ns 0 0 0 2.36 KB
#7682 SendAsync netcoreapp3.1 8.55μs 11.6ns 44.8ns 0 0 0 2.9 KB
#7682 SendAsync net472 12.5μs 11.9ns 46.1ns 0.499 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7682

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.78 KB 43.1 KB -672 B -1.54%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 275.26 KB 258.57 KB -16.69 KB -6.06%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 275.62 KB 256.9 KB -18.73 KB -6.79%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 43.7μs 193ns 722ns 0 0 0 43.78 KB
master StringConcatBenchmark netcoreapp3.1 50.5μs 318ns 3.07μs 0 0 0 42.94 KB
master StringConcatBenchmark net472 57.6μs 166ns 597ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 461μs 2.05μs 7.4μs 0 0 0 275.62 KB
master StringConcatAspectBenchmark netcoreapp3.1 546μs 2.07μs 7.46μs 0 0 0 275.26 KB
master StringConcatAspectBenchmark net472 401μs 2.2μs 13.4μs 0 0 0 278.53 KB
#7682 StringConcatBenchmark net6.0 44.8μs 258ns 1.8μs 0 0 0 43.1 KB
#7682 StringConcatBenchmark netcoreapp3.1 49.2μs 279ns 2.4μs 0 0 0 42.91 KB
#7682 StringConcatBenchmark net472 57.9μs 85.6ns 296ns 0 0 0 57.34 KB
#7682 StringConcatAspectBenchmark net6.0 461μs 1.78μs 6.18μs 0 0 0 256.9 KB
#7682 StringConcatAspectBenchmark netcoreapp3.1 520μs 2.02μs 7.54μs 0 0 0 258.57 KB
#7682 StringConcatAspectBenchmark net472 410μs 2.08μs 11μ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.62μs 12.3ns 50.7ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.69μs 17.9ns 75.9ns 0 0 0 1.7 KB
master EnrichedLog net472 3.79μs 4.7ns 18.2ns 0.245 0 0 1.64 KB
#7682 EnrichedLog net6.0 2.61μs 14.2ns 80.6ns 0 0 0 1.7 KB
#7682 EnrichedLog netcoreapp3.1 3.66μs 19.4ns 96.8ns 0 0 0 1.7 KB
#7682 EnrichedLog net472 3.76μs 2.64ns 9.88ns 0.244 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 125μs 556ns 2.08μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 82.3ns 297ns 0 0 0 4.31 KB
master EnrichedLog net472 167μs 105ns 378ns 0 0 0 4.52 KB
#7682 EnrichedLog net6.0 124μs 79.3ns 297ns 0 0 0 4.31 KB
#7682 EnrichedLog netcoreapp3.1 126μs 160ns 599ns 0 0 0 4.31 KB
#7682 EnrichedLog net472 167μs 24.5ns 88.4ns 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 7.6ns 28.4ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.78μs 13.2ns 51.3ns 0 0 0 2.26 KB
master EnrichedLog net472 7.83μs 5.89ns 22.8ns 0.309 0 0 2.08 KB
#7682 EnrichedLog net6.0 5μs 6.07ns 22.7ns 0 0 0 2.26 KB
#7682 EnrichedLog netcoreapp3.1 6.85μs 4.17ns 15ns 0 0 0 2.26 KB
#7682 EnrichedLog net472 7.78μs 7.77ns 30.1ns 0.308 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.99μs 9.43ns 38.9ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.62μs 12.2ns 47.2ns 0 0 0 1.2 KB
master SendReceive net472 3.22μs 7.71ns 29.8ns 0.19 0 0 1.2 KB
#7682 SendReceive net6.0 2.05μs 4.17ns 16.1ns 0 0 0 1.2 KB
#7682 SendReceive netcoreapp3.1 2.59μs 2ns 7.48ns 0 0 0 1.2 KB
#7682 SendReceive net472 3.22μs 6ns 23.2ns 0.176 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.24μs 4.78ns 17.2ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.63μs 1.92ns 6.91ns 0 0 0 1.63 KB
master EnrichedLog net472 6.76μs 5.57ns 21.6ns 0.301 0 0 2.03 KB
#7682 EnrichedLog net6.0 4.39μs 14.9ns 57.7ns 0 0 0 1.58 KB
#7682 EnrichedLog netcoreapp3.1 5.66μs 15ns 54.2ns 0 0 0 1.63 KB
#7682 EnrichedLog net472 6.54μs 2.92ns 11.3ns 0.294 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 764ns 4.14ns 23ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 942ns 5.18ns 27.4ns 0 0 0 576 B
master StartFinishSpan net472 940ns 0.128ns 0.478ns 0.0893 0 0 578 B
master StartFinishScope net6.0 883ns 4.91ns 29ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.16μs 5.83ns 26.1ns 0 0 0 696 B
master StartFinishScope net472 1.12μs 0.0994ns 0.385ns 0.101 0 0 658 B
#7682 StartFinishSpan net6.0 774ns 0.247ns 0.923ns 0 0 0 576 B
#7682 StartFinishSpan netcoreapp3.1 969ns 4.53ns 17.6ns 0 0 0 576 B
#7682 StartFinishSpan net472 960ns 0.244ns 0.945ns 0.0896 0 0 578 B
#7682 StartFinishScope net6.0 908ns 4.58ns 21ns 0 0 0 696 B
#7682 StartFinishScope netcoreapp3.1 1.2μs 5.95ns 25.2ns 0 0 0 696 B
#7682 StartFinishScope net472 1.1μs 0.139ns 0.538ns 0.0995 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 1.44ns 5.6ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.48μs 6.46ns 25ns 0 0 0 696 B
master RunOnMethodBegin net472 1.41μs 0.715ns 2.68ns 0.0983 0 0 658 B
#7682 RunOnMethodBegin net6.0 1.03μs 4.88ns 20.7ns 0 0 0 696 B
#7682 RunOnMethodBegin netcoreapp3.1 1.4μs 7.33ns 34.4ns 0 0 0 697 B
#7682 RunOnMethodBegin net472 1.46μs 2.03ns 7.85ns 0.101 0 0 658 B

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant