Skip to content

Conversation

tonyredondo
Copy link
Member

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 (7324) - mean (71ms)  : 70, 73
     .   : milestone, 71,
    master - mean (71ms)  : 71, 72
     .   : milestone, 71,

    section Baseline
    This PR (7324) - mean (68ms)  : 65, 71
     .   : milestone, 68,
    master - mean (68ms)  : 66, 70
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (1,046ms)  : 1024, 1067
     .   : milestone, 1046,
    master - mean (1,039ms)  : 1021, 1058
     .   : milestone, 1039,

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

    section Baseline
    This PR (7324) - mean (106ms)  : 103, 108
     .   : milestone, 106,
    master - mean (106ms)  : 103, 108
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (729ms)  : 711, 746
     .   : milestone, 729,
    master - mean (726ms)  : 712, 740
     .   : milestone, 726,

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

    section Baseline
    This PR (7324) - mean (94ms)  : 92, 96
     .   : milestone, 94,
    master - mean (93ms)  : 91, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (687ms)  : 669, 705
     .   : milestone, 687,
    master - mean (686ms)  : 670, 702
     .   : milestone, 686,

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

    section Baseline
    This PR (7324) - mean (93ms)  : 90, 95
     .   : milestone, 93,
    master - mean (92ms)  : 90, 94
     .   : milestone, 92,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (622ms)  : 613, 631
     .   : milestone, 622,
    master - mean (625ms)  : 615, 635
     .   : milestone, 625,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7324) - mean (205ms)  : 200, 209
     .   : milestone, 205,
    master - mean (207ms)  : 202, 213
     .   : milestone, 207,

    section Baseline
    This PR (7324) - mean (202ms)  : 194, 210
     .   : milestone, 202,
    master - mean (203ms)  : 196, 210
     .   : milestone, 203,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (1,195ms)  : 1170, 1220
     .   : milestone, 1195,
    master - mean (1,203ms)  : 1174, 1233
     .   : milestone, 1203,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7324) - mean (290ms)  : 285, 295
     .   : milestone, 290,
    master - mean (293ms)  : 285, 301
     .   : milestone, 293,

    section Baseline
    This PR (7324) - mean (290ms)  : 283, 297
     .   : milestone, 290,
    master - mean (290ms)  : 283, 298
     .   : milestone, 290,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (956ms)  : 932, 980
     .   : milestone, 956,
    master - mean (961ms)  : 934, 988
     .   : milestone, 961,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7324) - mean (283ms)  : 277, 288
     .   : milestone, 283,
    master - mean (285ms)  : 279, 291
     .   : milestone, 285,

    section Baseline
    This PR (7324) - mean (282ms)  : 276, 288
     .   : milestone, 282,
    master - mean (286ms)  : 279, 293
     .   : milestone, 286,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (948ms)  : 923, 973
     .   : milestone, 948,
    master - mean (958ms)  : 927, 989
     .   : milestone, 958,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7324) - mean (285ms)  : 279, 292
     .   : milestone, 285,
    master - mean (285ms)  : 275, 295
     .   : milestone, 285,

    section Baseline
    This PR (7324) - mean (282ms)  : 277, 288
     .   : milestone, 282,
    master - mean (282ms)  : 275, 289
     .   : milestone, 282,

    section CallTarget+Inlining+NGEN
    This PR (7324) - mean (848ms)  : 824, 872
     .   : milestone, 848,
    master - mean (854ms)  : 827, 881
     .   : milestone, 854,

Loading

@pr-commenter
Copy link

pr-commenter bot commented Aug 1, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7324 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.146
  • 1 benchmarks are slower, with geometric mean 1.122
  • 4 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7324

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.69 KB 5.65 KB -38 B -0.67%
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.09 KB 5.96 KB -136 B -2.23%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 11μs 60ns 334ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.6μs 64.3ns 257ns 0 0 0 5.69 KB
master StartStopWithChild net472 21.7μs 118ns 648ns 0.874 0.219 0 6.09 KB
#7324 StartStopWithChild net6.0 10.9μs 60.1ns 345ns 0 0 0 5.5 KB
#7324 StartStopWithChild netcoreapp3.1 14.3μs 72.7ns 348ns 0 0 0 5.65 KB
#7324 StartStopWithChild net472 22.1μs 121ns 660ns 0.896 0.199 0 5.96 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 933μs 49.6ns 186ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 89.7ns 347ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.19ms 71.2ns 276ns 0 0 0 3.31 KB
#7324 WriteAndFlushEnrichedTraces net6.0 930μs 385ns 1.49μs 0 0 0 2.7 KB
#7324 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 78.7ns 295ns 0 0 0 2.7 KB
#7324 WriteAndFlushEnrichedTraces net472 1.21ms 81.5ns 316ns 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 330μs 1.67μs 8.18μs 0 0 0 197.61 KB
master AllCycleSimpleBody netcoreapp3.1 503μs 1.96μs 7.6μs 0 0 0 205.37 KB
master AllCycleSimpleBody net472 451μs 137ns 531ns 37.9 2.23 0 245.55 KB
master AllCycleMoreComplexBody net6.0 342μs 1.35μs 5.22μs 0 0 0 201.12 KB
master AllCycleMoreComplexBody netcoreapp3.1 495μs 2.32μs 9.28μs 0 0 0 208.79 KB
master AllCycleMoreComplexBody net472 456μs 88.5ns 343ns 37.9 2.23 0 249.06 KB
master ObjectExtractorSimpleBody net6.0 325ns 0.12ns 0.467ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 396ns 2.25ns 15.4ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 302ns 0.0274ns 0.103ns 0.044 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.34μs 4.74ns 18.4ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.75μs 39.4ns 176ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.73μs 2.35ns 9.1ns 0.573 0 0 3.8 KB
#7324 AllCycleSimpleBody net6.0 334μs 754ns 2.82μs 0 0 0 197.61 KB
#7324 AllCycleSimpleBody netcoreapp3.1 493μs 1.58μs 6.1μs 0 0 0 205.37 KB
#7324 AllCycleSimpleBody net472 453μs 152ns 570ns 37.9 2.23 0 245.55 KB
#7324 AllCycleMoreComplexBody net6.0 346μs 1.66μs 7.03μs 0 0 0 201.12 KB
#7324 AllCycleMoreComplexBody netcoreapp3.1 514μs 2.3μs 8.9μs 0 0 0 208.78 KB
#7324 AllCycleMoreComplexBody net472 457μs 226ns 846ns 37.9 2.23 0 249.06 KB
#7324 ObjectExtractorSimpleBody net6.0 326ns 0.172ns 0.665ns 0 0 0 280 B
#7324 ObjectExtractorSimpleBody netcoreapp3.1 405ns 2.18ns 11.5ns 0 0 0 272 B
#7324 ObjectExtractorSimpleBody net472 308ns 0.0973ns 0.377ns 0.0436 0 0 281 B
#7324 ObjectExtractorMoreComplexBody net6.0 6.31μs 32.1ns 147ns 0 0 0 3.78 KB
#7324 ObjectExtractorMoreComplexBody netcoreapp3.1 7.82μs 3.49ns 13.5ns 0 0 0 3.69 KB
#7324 ObjectExtractorMoreComplexBody net472 6.79μs 3.39ns 13.1ns 0.578 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 77.3μs 58.1ns 209ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 95.7μs 233ns 902ns 0 0 0 32.4 KB
master EncodeArgs net472 109μs 5.9ns 22.1ns 4.9 0 0 32.51 KB
master EncodeLegacyArgs net6.0 144μs 24.9ns 96.6ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 198μs 523ns 2.03μs 0 0 0 2.14 KB
master EncodeLegacyArgs net472 274μs 49.1ns 190ns 0 0 0 2.16 KB
#7324 EncodeArgs net6.0 77.7μs 245ns 916ns 0 0 0 32.4 KB
#7324 EncodeArgs netcoreapp3.1 102μs 299ns 1.12μs 0 0 0 32.4 KB
#7324 EncodeArgs net472 113μs 8.1ns 29.2ns 5.07 0 0 32.51 KB
#7324 EncodeLegacyArgs net6.0 142μs 52.7ns 197ns 0 0 0 2.15 KB
#7324 EncodeLegacyArgs netcoreapp3.1 196μs 94.8ns 355ns 0 0 0 2.14 KB
#7324 EncodeLegacyArgs net472 261μs 22ns 79.5ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 51.1ns 191ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 818μs 12.9μs 129μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 430μs 50.9ns 197ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 284μs 36.1ns 140ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 296μs 287ns 1.11μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 308μs 43.1ns 167ns 0 0 0 2.29 KB
#7324 RunWafRealisticBenchmark net6.0 396μs 27.1ns 105ns 0 0 0 4.55 KB
#7324 RunWafRealisticBenchmark netcoreapp3.1 824μs 9.3μs 93μs 0 0 0 4.48 KB
#7324 RunWafRealisticBenchmark net472 426μs 60.2ns 225ns 0 0 0 4.66 KB
#7324 RunWafRealisticBenchmarkWithAttack net6.0 288μs 44.7ns 167ns 0 0 0 2.24 KB
#7324 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 300μs 96.6ns 374ns 0 0 0 2.22 KB
#7324 RunWafRealisticBenchmarkWithAttack net472 311μs 26.8ns 100ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.2μs 65.5ns 245ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.9μs 78ns 302ns 0 0 0 17.42 KB
master SendRequest net472 0.0148ns 0.0021ns 0.00812ns 0 0 0 0 b
#7324 SendRequest net6.0 60.7μs 18.6ns 69.5ns 0 0 0 14.52 KB
#7324 SendRequest netcoreapp3.1 70.7μs 104ns 376ns 0 0 0 17.42 KB
#7324 SendRequest net472 0.016ns 0.00188ns 0.00704ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7324

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1.122 853,452.82 957,319.91

More allocations ⚠️ in #7324

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 2 B 7 B 5 B 250.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.88ms 6.01μs 21.7μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.13ms 2.23μs 8.36μs 0 0 0 640 KB
master OriginalCharSlice net472 2.64ms 109ns 409ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.37ms 201ns 778ns 0 0 0 2 B
master OptimizedCharSlice netcoreapp3.1 1.69ms 123ns 478ns 0 0 0 1 B
master OptimizedCharSlice net472 2.01ms 263ns 984ns 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 821μs 34.2ns 132ns 0 0 0 1 B
master OptimizedCharSliceWithPool netcoreapp3.1 853μs 44.1ns 171ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 262ns 1.01μs 0 0 0 0 b
#7324 OriginalCharSlice net6.0 1.97ms 5.36μs 20.7μs 0 0 0 640.01 KB
#7324 OriginalCharSlice netcoreapp3.1 2.19ms 4.04μs 14.6μs 0 0 0 640 KB
#7324 OriginalCharSlice net472 2.65ms 1.29μs 4.84μs 100 0 0 641.95 KB
#7324 OptimizedCharSlice net6.0 1.42ms 152ns 589ns 0 0 0 7 B
#7324 OptimizedCharSlice netcoreapp3.1 1.65ms 872ns 3.38μs 0 0 0 1 B
#7324 OptimizedCharSlice net472 1.93ms 915ns 3.55μs 0 0 0 0 b
#7324 OptimizedCharSliceWithPool net6.0 841μs 71.4ns 277ns 0 0 0 1 B
#7324 OptimizedCharSliceWithPool netcoreapp3.1 957μs 50.5ns 182ns 0 0 0 0 b
#7324 OptimizedCharSliceWithPool net472 1.13ms 34.5ns 129ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #7324

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.140 748,396.04 656,701.56
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.132 957,259.62 845,560.27

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 748μs 1.05μs 4.06μs 0 0 0 41.84 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 711μs 4.12μs 36.8μs 0 0 0 41.95 KB
master WriteAndFlushEnrichedTraces net472 955μs 4.11μs 15.9μs 4.81 0 0 55.39 KB
#7324 WriteAndFlushEnrichedTraces net6.0 656μs 1.73μs 6.68μs 0 0 0 41.8 KB
#7324 WriteAndFlushEnrichedTraces netcoreapp3.1 689μs 5.3μs 53μs 0 0 0 42.04 KB
#7324 WriteAndFlushEnrichedTraces net472 841μs 2.28μs 8.84μs 4.46 0 0 55.55 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.9μs 7.68ns 29.8ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.68μs 5.81ns 21.7ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.69μs 2.52ns 9.78ns 0.148 0.0135 0 987 B
#7324 ExecuteNonQuery net6.0 1.94μs 5.72ns 22.1ns 0 0 0 1.02 KB
#7324 ExecuteNonQuery netcoreapp3.1 2.47μs 8.45ns 32.7ns 0 0 0 1.02 KB
#7324 ExecuteNonQuery net472 2.77μs 3.77ns 14.6ns 0.153 0.0139 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.79μs 7.23ns 28ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.32μs 11.2ns 44.8ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.57μs 2.19ns 7.58ns 0.16 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.86μs 5.35ns 20.7ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.45μs 5.44ns 19.6ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.62μs 2.09ns 8.1ns 0.163 0 0 1.1 KB
#7324 CallElasticsearch net6.0 1.79μs 8.59ns 33.3ns 0 0 0 1.03 KB
#7324 CallElasticsearch netcoreapp3.1 2.29μs 1.11ns 4.02ns 0 0 0 1.03 KB
#7324 CallElasticsearch net472 3.47μs 3.15ns 11.8ns 0.156 0 0 1.04 KB
#7324 CallElasticsearchAsync net6.0 1.79μs 6.97ns 27ns 0 0 0 1.01 KB
#7324 CallElasticsearchAsync netcoreapp3.1 2.51μs 3.17ns 12.3ns 0 0 0 1.08 KB
#7324 CallElasticsearchAsync net472 3.62μs 3.74ns 14.5ns 0.161 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.8μs 2.94ns 10.2ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.3μs 5.6ns 21.7ns 0 0 0 952 B
master ExecuteAsync net472 2.52μs 4.99ns 19.3ns 0.138 0 0 915 B
#7324 ExecuteAsync net6.0 1.82μs 9.16ns 38.9ns 0 0 0 952 B
#7324 ExecuteAsync netcoreapp3.1 2.28μs 5.03ns 19.5ns 0 0 0 952 B
#7324 ExecuteAsync net472 2.5μs 1.9ns 7.37ns 0.137 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.97μs 18.7ns 67.5ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.52μs 21.8ns 84.4ns 0 0 0 2.9 KB
master SendAsync net472 12.5μs 12.8ns 49.4ns 0.5 0 0 3.18 KB
#7324 SendAsync net6.0 7.03μs 7.72ns 28.9ns 0 0 0 2.36 KB
#7324 SendAsync netcoreapp3.1 8.45μs 13.7ns 53.1ns 0 0 0 2.9 KB
#7324 SendAsync net472 12.3μs 9.04ns 35ns 0.491 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7324

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 1.167 535,700.00 458,850.00

More allocations ⚠️ in #7324

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 57.34 KB 65.54 KB 8.19 KB 14.29%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 255.86 KB 277.39 KB 21.54 KB 8.42%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.1 KB 44.5 KB 1.4 KB 3.25%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 42.68 KB 43.2 KB 520 B 1.22%

Fewer allocations 🎉 in #7324

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 279.94 KB 278.53 KB -1.41 KB -0.50%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 283.39 KB 257.11 KB -26.28 KB -9.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.1μs 174ns 1.07μs 0 0 0 43.1 KB
master StringConcatBenchmark netcoreapp3.1 46.6μs 224ns 1.31μs 0 0 0 42.68 KB
master StringConcatBenchmark net472 56.9μs 140ns 503ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 538μs 2.14μs 7.71μs 0 0 0 283.39 KB
master StringConcatAspectBenchmark netcoreapp3.1 498μs 2.3μs 8.3μs 0 0 0 255.86 KB
master StringConcatAspectBenchmark net472 408μs 2.12μs 10.6μs 0 0 0 279.94 KB
#7324 StringConcatBenchmark net6.0 48.3μs 184ns 665ns 0 0 0 44.5 KB
#7324 StringConcatBenchmark netcoreapp3.1 53.6μs 688ns 6.67μs 0 0 0 43.2 KB
#7324 StringConcatBenchmark net472 57.4μs 129ns 464ns 0 0 0 65.54 KB
#7324 StringConcatAspectBenchmark net6.0 458μs 1.97μs 6.82μs 0 0 0 257.11 KB
#7324 StringConcatAspectBenchmark netcoreapp3.1 520μs 1.45μs 5.24μs 0 0 0 277.39 KB
#7324 StringConcatAspectBenchmark net472 406μs 2.29μs 15μ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.6μs 13.8ns 70.3ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.45μs 17ns 72.1ns 0 0 0 1.7 KB
master EnrichedLog net472 3.88μs 2.66ns 10.3ns 0.251 0 0 1.64 KB
#7324 EnrichedLog net6.0 2.5μs 13.7ns 74.9ns 0 0 0 1.7 KB
#7324 EnrichedLog netcoreapp3.1 3.41μs 15ns 57.9ns 0 0 0 1.7 KB
#7324 EnrichedLog net472 3.87μs 2.93ns 11.3ns 0.251 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 122μs 63.3ns 237ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 127μs 235ns 814ns 0 0 0 4.31 KB
master EnrichedLog net472 168μs 35.2ns 136ns 0 0 0 4.52 KB
#7324 EnrichedLog net6.0 123μs 126ns 454ns 0 0 0 4.31 KB
#7324 EnrichedLog netcoreapp3.1 127μs 57.4ns 222ns 0 0 0 4.31 KB
#7324 EnrichedLog net472 166μs 224ns 869ns 0 0 0 4.51 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.81μs 23.4ns 96.7ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.84μs 17.9ns 69.5ns 0 0 0 2.26 KB
master EnrichedLog net472 7.62μs 6.35ns 23.8ns 0.301 0 0 2.08 KB
#7324 EnrichedLog net6.0 4.94μs 16.7ns 62.5ns 0 0 0 2.26 KB
#7324 EnrichedLog netcoreapp3.1 6.73μs 15.8ns 61.4ns 0 0 0 2.26 KB
#7324 EnrichedLog net472 7.58μs 7.97ns 30.9ns 0.303 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2.02μs 10.5ns 50.4ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.66μs 8.37ns 32.4ns 0 0 0 1.2 KB
master SendReceive net472 3.14μs 4.05ns 15.2ns 0.189 0 0 1.2 KB
#7324 SendReceive net6.0 2.01μs 9.84ns 42.9ns 0 0 0 1.2 KB
#7324 SendReceive netcoreapp3.1 2.66μs 12.8ns 52.7ns 0 0 0 1.2 KB
#7324 SendReceive net472 3.19μs 3.39ns 13.1ns 0.177 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.07μs 1.44ns 5.37ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.65μs 6.51ns 25.2ns 0 0 0 1.63 KB
master EnrichedLog net472 6.29μs 5.64ns 21.9ns 0.312 0 0 2.03 KB
#7324 EnrichedLog net6.0 4.12μs 13.7ns 51.1ns 0 0 0 1.58 KB
#7324 EnrichedLog netcoreapp3.1 5.63μs 18.2ns 70.3ns 0 0 0 1.63 KB
#7324 EnrichedLog net472 6.27μs 9.42ns 36.5ns 0.313 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 754ns 0.265ns 0.99ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 998ns 4.33ns 16.2ns 0 0 0 576 B
master StartFinishSpan net472 916ns 0.203ns 0.733ns 0.0917 0 0 578 B
master StartFinishScope net6.0 900ns 4.78ns 25.8ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.12μs 5.01ns 20.1ns 0 0 0 696 B
master StartFinishScope net472 1.1μs 0.136ns 0.527ns 0.0999 0 0 658 B
#7324 StartFinishSpan net6.0 745ns 3.9ns 17.9ns 0 0 0 576 B
#7324 StartFinishSpan netcoreapp3.1 945ns 2.44ns 8.45ns 0 0 0 576 B
#7324 StartFinishSpan net472 911ns 0.261ns 0.943ns 0.0914 0 0 578 B
#7324 StartFinishScope net6.0 895ns 4.27ns 18.1ns 0 0 0 696 B
#7324 StartFinishScope netcoreapp3.1 1.15μs 0.959ns 3.71ns 0 0 0 696 B
#7324 StartFinishScope net472 1.11μs 0.525ns 2.03ns 0.104 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.03μs 3.03ns 11.8ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.38μs 7.03ns 33ns 0 0 0 696 B
master RunOnMethodBegin net472 1.39μs 1.09ns 4.23ns 0.0977 0 0 658 B
#7324 RunOnMethodBegin net6.0 1.06μs 0.538ns 2.09ns 0 0 0 696 B
#7324 RunOnMethodBegin netcoreapp3.1 1.4μs 6.12ns 23.7ns 0 0 0 696 B
#7324 RunOnMethodBegin net472 1.4μs 1.18ns 4.56ns 0.0977 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