Skip to content

Conversation

@andrewlock
Copy link
Member

@andrewlock andrewlock commented Nov 21, 2025

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

Similar approach to StringValues

Span distribution based on analysis of ingested chunks

@andrewlock andrewlock added area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:performance Performance, speed, latency, resource usage (CPU, memory) area:benchmarks Benchmarks, throughput tests, Crank, Bombardier, etc labels Nov 21, 2025
@pr-commenter
Copy link

pr-commenter bot commented Nov 21, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7851 compared to master:

  • 3 benchmarks are faster, with geometric mean 1.435
  • 2 benchmarks are slower, with geometric mean 1.553
  • 30 benchmarks have fewer allocations
  • 6 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 - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7851

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 1.126 11,228.38 9,968.73

More allocations ⚠️ in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net6.0 5.5 KB 5.53 KB 38 B 0.69%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 11.2μs 50.8ns 203ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.6μs 69.1ns 317ns 0 0 0 5.68 KB
master StartStopWithChild net472 22.3μs 123ns 776ns 0.97 0.431 0.108 6.01 KB
#7851 StartStopWithChild net6.0 9.98μs 12ns 43.2ns 0 0 0 5.53 KB
#7851 StartStopWithChild netcoreapp3.1 13.5μs 64.6ns 281ns 0 0 0 5.68 KB
#7851 StartStopWithChild net472 22.4μs 116ns 568ns 1.05 0.421 0.105 5.99 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7851

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

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 926μs 53.1ns 199ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.05ms 2.65μs 9.9μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 61.9ns 240ns 0 0 0 3.31 KB
#7851 WriteAndFlushEnrichedTraces net6.0 934μs 63ns 236ns 0 0 0 2.7 KB
#7851 WriteAndFlushEnrichedTraces netcoreapp3.1 1.04ms 57.9ns 201ns 0 0 0 2.7 KB
#7851 WriteAndFlushEnrichedTraces net472 1.2ms 28.6ns 103ns 0 0 0 3.35 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.6ns 26.8ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.37μs 6.78ns 28.8ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.574ns 2.22ns 0.192 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.2μs 7.78ns 30.2ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.01μs 33.1ns 128ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.58μs 5.15ns 19.9ns 0.721 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 321ns 1.8ns 11ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 402ns 2.07ns 10.2ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 297ns 0.084ns 0.303ns 0.0433 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.34μs 33.3ns 163ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.94μs 28.9ns 112ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.75μs 6.17ns 23.9ns 0.572 0 0 3.8 KB
#7851 AllCycleSimpleBody net6.0 1.07μs 5.78ns 32.2ns 0 0 0 1.22 KB
#7851 AllCycleSimpleBody netcoreapp3.1 1.39μs 7.87ns 56.8ns 0 0 0 1.2 KB
#7851 AllCycleSimpleBody net472 994ns 0.481ns 1.8ns 0.195 0 0 1.23 KB
#7851 AllCycleMoreComplexBody net6.0 7.14μs 34.2ns 132ns 0 0 0 4.72 KB
#7851 AllCycleMoreComplexBody netcoreapp3.1 8.91μs 40ns 179ns 0 0 0 4.62 KB
#7851 AllCycleMoreComplexBody net472 7.6μs 4.83ns 18.7ns 0.726 0 0 4.74 KB
#7851 ObjectExtractorSimpleBody net6.0 316ns 0.11ns 0.428ns 0 0 0 280 B
#7851 ObjectExtractorSimpleBody netcoreapp3.1 393ns 2.28ns 19.5ns 0 0 0 272 B
#7851 ObjectExtractorSimpleBody net472 306ns 0.753ns 2.82ns 0.0437 0 0 281 B
#7851 ObjectExtractorMoreComplexBody net6.0 6.26μs 34ns 186ns 0 0 0 3.79 KB
#7851 ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 29.3ns 110ns 0 0 0 3.69 KB
#7851 ObjectExtractorMoreComplexBody net472 6.65μs 3.22ns 12.1ns 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 75.4μs 343ns 1.33μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.9μs 220ns 823ns 0 0 0 32.4 KB
master EncodeArgs net472 109μs 11.6ns 43.5ns 4.88 0 0 32.51 KB
master EncodeLegacyArgs net6.0 146μs 218ns 844ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 170ns 659ns 0 0 0 2.15 KB
master EncodeLegacyArgs net472 263μs 23.8ns 92.2ns 0 0 0 2.17 KB
#7851 EncodeArgs net6.0 76.2μs 26.9ns 97.2ns 0 0 0 32.4 KB
#7851 EncodeArgs netcoreapp3.1 96.6μs 343ns 1.33μs 0 0 0 32.4 KB
#7851 EncodeArgs net472 110μs 23ns 89.2ns 4.95 0 0 32.51 KB
#7851 EncodeLegacyArgs net6.0 147μs 27.1ns 105ns 0 0 0 2.14 KB
#7851 EncodeLegacyArgs netcoreapp3.1 203μs 453ns 1.75μs 0 0 0 2.14 KB
#7851 EncodeLegacyArgs net472 263μs 143ns 555ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7851

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.100 408,796.27 858,516.04

Faster 🎉 in #7851

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.348 704,899.48 300,221.19

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 393μs 118ns 427ns 0 0 0 4.56 KB
master RunWafRealisticBenchmark netcoreapp3.1 409μs 112ns 404ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 428μs 56.9ns 220ns 0 0 0 4.68 KB
master RunWafRealisticBenchmarkWithAttack net6.0 285μs 48.4ns 187ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 678μs 11.1μs 111μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 310μs 35.7ns 138ns 0 0 0 2.29 KB
#7851 RunWafRealisticBenchmark net6.0 391μs 75.2ns 291ns 0 0 0 4.56 KB
#7851 RunWafRealisticBenchmark netcoreapp3.1 821μs 12.9μs 129μs 0 0 0 4.48 KB
#7851 RunWafRealisticBenchmark net472 431μs 145ns 560ns 0 0 0 4.66 KB
#7851 RunWafRealisticBenchmarkWithAttack net6.0 284μs 36.3ns 126ns 0 0 0 2.24 KB
#7851 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 300μs 59.9ns 207ns 0 0 0 2.22 KB
#7851 RunWafRealisticBenchmarkWithAttack net472 310μs 42ns 163ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.3μs 127ns 491ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.5μs 317ns 1.55μs 0 0 0 17.42 KB
master SendRequest net472 0.00768ns 0.00289ns 0.0112ns 0 0 0 0 b
#7851 SendRequest net6.0 61.3μs 51.4ns 199ns 0 0 0 14.46 KB
#7851 SendRequest netcoreapp3.1 70.8μs 164ns 593ns 0 0 0 17.36 KB
#7851 SendRequest net472 0.0034ns 0.00139ns 0.00538ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7851

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 1.148 1,407,152.78 1,615,782.03

More allocations ⚠️ in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 1 B 1 B

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 48 B 47 B -1 B -2.08%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 7 B 5 B -2 B -28.57%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.91ms 5.91μs 22.1μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.05ms 8.75μs 32.7μs 0 0 0 640 KB
master OriginalCharSlice net472 2.66ms 629ns 2.27μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.41ms 221ns 854ns 0 0 0 7 B
master OptimizedCharSlice netcoreapp3.1 1.73ms 245ns 850ns 0 0 0 1 B
master OptimizedCharSlice net472 1.98ms 422ns 1.58μs 0 0 0 73 B
master OptimizedCharSliceWithPool net6.0 822μs 67.2ns 260ns 0 0 0 3 B
master OptimizedCharSliceWithPool netcoreapp3.1 827μs 63.5ns 229ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.14ms 130ns 488ns 0 0 0 48 B
#7851 OriginalCharSlice net6.0 1.93ms 199ns 743ns 0 0 0 640.01 KB
#7851 OriginalCharSlice netcoreapp3.1 2.15ms 2.56μs 9.58μs 0 0 0 640 KB
#7851 OriginalCharSlice net472 2.57ms 1.08μs 4.04μs 100 0 0 641.95 KB
#7851 OptimizedCharSlice net6.0 1.61ms 926ns 3.59μs 0 0 0 5 B
#7851 OptimizedCharSlice netcoreapp3.1 1.71ms 391ns 1.52μs 0 0 0 1 B
#7851 OptimizedCharSlice net472 1.97ms 239ns 927ns 0 0 0 73 B
#7851 OptimizedCharSliceWithPool net6.0 825μs 38.6ns 139ns 0 0 0 3 B
#7851 OptimizedCharSliceWithPool netcoreapp3.1 811μs 328ns 1.27μs 0 0 0 1 B
#7851 OptimizedCharSliceWithPool net472 1.15ms 145ns 560ns 0 0 0 47 B
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #7851

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 1.118 727,299.34 650,627.98

More allocations ⚠️ in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.89 KB 42.4 KB 512 B 1.22%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 719μs 4.05μs 28.9μs 0 0 0 41.77 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 692μs 3.85μs 24.4μs 0 0 0 41.89 KB
master WriteAndFlushEnrichedTraces net472 895μs 2.42μs 9.05μs 8.33 0 0 56.32 KB
#7851 WriteAndFlushEnrichedTraces net6.0 648μs 2.14μs 8.3μs 0 0 0 41.7 KB
#7851 WriteAndFlushEnrichedTraces netcoreapp3.1 738μs 4.24μs 36μs 0 0 0 42.4 KB
#7851 WriteAndFlushEnrichedTraces net472 933μs 2.07μs 7.47μs 8.33 0 0 56.22 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net6.0 1.02 KB 968 B -56 B -5.47%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑netcoreapp3.1 1.02 KB 960 B -56 B -5.51%
Benchmarks.Trace.DbCommandBenchmark.ExecuteNonQuery‑net472 987 B 931 B -56 B -5.67%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.87μs 9.43ns 43.2ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.62μs 8.37ns 32.4ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.74μs 3.82ns 14.8ns 0.15 0.0137 0 987 B
#7851 ExecuteNonQuery net6.0 2.02μs 4.65ns 18ns 0 0 0 968 B
#7851 ExecuteNonQuery netcoreapp3.1 2.57μs 10.1ns 39.1ns 0 0 0 960 B
#7851 ExecuteNonQuery net472 2.81μs 3.13ns 12.1ns 0.139 0.0139 0 931 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net472 1.1 KB 1.04 KB -56 B -5.10%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑netcoreapp3.1 1.08 KB 1.02 KB -56 B -5.19%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net472 1.04 KB 987 B -56 B -5.37%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑net6.0 1.03 KB 976 B -56 B -5.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearch‑netcoreapp3.1 1.03 KB 976 B -56 B -5.43%
Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync‑net6.0 1.01 KB 952 B -56 B -5.56%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.74μs 7.62ns 29.5ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.23μs 10.9ns 47.5ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.68μs 4.13ns 16ns 0.165 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.75μs 8.79ns 39.3ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.47μs 8.41ns 32.6ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.85μs 3.8ns 14.7ns 0.172 0 0 1.1 KB
#7851 CallElasticsearch net6.0 1.72μs 2.25ns 8.72ns 0 0 0 976 B
#7851 CallElasticsearch netcoreapp3.1 2.27μs 8.86ns 34.3ns 0 0 0 976 B
#7851 CallElasticsearch net472 3.52μs 2.63ns 9.83ns 0.142 0 0 987 B
#7851 CallElasticsearchAsync net6.0 1.75μs 1.03ns 3.7ns 0 0 0 952 B
#7851 CallElasticsearchAsync netcoreapp3.1 2.37μs 0.953ns 3.57ns 0 0 0 1.02 KB
#7851 CallElasticsearchAsync net472 3.66μs 6.28ns 24.3ns 0.162 0 0 1.04 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net6.0 952 B 896 B -56 B -5.88%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑netcoreapp3.1 952 B 896 B -56 B -5.88%
Benchmarks.Trace.GraphQLBenchmark.ExecuteAsync‑net472 915 B 859 B -56 B -6.12%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.93μs 6.13ns 23.7ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.49μs 9ns 34.9ns 0 0 0 952 B
master ExecuteAsync net472 2.65μs 1.75ns 6.78ns 0.133 0 0 915 B
#7851 ExecuteAsync net6.0 1.76μs 8.56ns 34.2ns 0 0 0 896 B
#7851 ExecuteAsync netcoreapp3.1 2.48μs 2.65ns 10.3ns 0 0 0 896 B
#7851 ExecuteAsync net472 2.49μs 0.571ns 2.21ns 0.125 0 0 859 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net472 3.18 KB 3.12 KB -56 B -1.76%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑netcoreapp3.1 2.9 KB 2.84 KB -56 B -1.93%
Benchmarks.Trace.HttpClientBenchmark.SendAsync‑net6.0 2.36 KB 2.3 KB -56 B -2.37%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.91μs 20.1ns 75.3ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.64μs 26ns 101ns 0 0 0 2.9 KB
master SendAsync net472 12.1μs 8.02ns 31.1ns 0.483 0 0 3.18 KB
#7851 SendAsync net6.0 6.84μs 28.9ns 112ns 0 0 0 2.3 KB
#7851 SendAsync netcoreapp3.1 8.69μs 29.6ns 114ns 0 0 0 2.84 KB
#7851 SendAsync net472 12.2μs 8.67ns 33.6ns 0.489 0 0 3.12 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 278.53 KB 286.72 KB 8.19 KB 2.94%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 255.46 KB 258.76 KB 3.3 KB 1.29%

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 278.04 KB 260.74 KB -17.3 KB -6.22%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 46.1μs 270ns 2.22μs 0 0 0 43.64 KB
master StringConcatBenchmark netcoreapp3.1 50.1μs 291ns 2.29μs 0 0 0 42.7 KB
master StringConcatBenchmark net472 56.7μs 297ns 1.39μs 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 490μs 2.3μs 9.22μs 0 0 0 278.04 KB
master StringConcatAspectBenchmark netcoreapp3.1 506μs 2.28μs 8.54μs 0 0 0 255.46 KB
master StringConcatAspectBenchmark net472 410μs 2.31μs 15μs 0 0 0 278.53 KB
#7851 StringConcatBenchmark net6.0 45.9μs 255ns 2.02μs 0 0 0 43.73 KB
#7851 StringConcatBenchmark netcoreapp3.1 50.9μs 334ns 3.18μs 0 0 0 42.76 KB
#7851 StringConcatBenchmark net472 57.1μs 123ns 444ns 0 0 0 57.34 KB
#7851 StringConcatAspectBenchmark net6.0 463μs 2.22μs 8.6μs 0 0 0 260.74 KB
#7851 StringConcatAspectBenchmark netcoreapp3.1 512μs 1.13μs 4.23μs 0 0 0 258.76 KB
#7851 StringConcatAspectBenchmark net472 399μs 1.59μs 5.95μs 0 0 0 286.72 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.59μs 14.1ns 68.9ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.65μs 14.7ns 56.9ns 0 0 0 1.7 KB
master EnrichedLog net472 4.19μs 3.84ns 14.9ns 0.248 0 0 1.64 KB
#7851 EnrichedLog net6.0 2.63μs 12.7ns 50.9ns 0 0 0 1.7 KB
#7851 EnrichedLog netcoreapp3.1 3.6μs 18.8ns 90ns 0 0 0 1.7 KB
#7851 EnrichedLog net472 3.92μs 3.1ns 11.6ns 0.255 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 55.1ns 199ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 129μs 208ns 807ns 0 0 0 4.31 KB
master EnrichedLog net472 169μs 296ns 1.14μs 0 0 0 4.52 KB
#7851 EnrichedLog net6.0 124μs 114ns 428ns 0 0 0 4.31 KB
#7851 EnrichedLog netcoreapp3.1 128μs 290ns 1.12μs 0 0 0 4.31 KB
#7851 EnrichedLog net472 168μs 129ns 501ns 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.16μs 21.6ns 80.7ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.77μs 15.2ns 58.7ns 0 0 0 2.26 KB
master EnrichedLog net472 7.55μs 7.72ns 29.9ns 0.301 0 0 2.08 KB
#7851 EnrichedLog net6.0 4.85μs 24.8ns 111ns 0 0 0 2.26 KB
#7851 EnrichedLog netcoreapp3.1 6.72μs 21ns 81.2ns 0 0 0 2.26 KB
#7851 EnrichedLog net472 7.5μs 5.58ns 21.6ns 0.299 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.RedisBenchmark.SendReceive‑net6.0 1.2 KB 1.14 KB -56 B -4.67%
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 1.2 KB 1.14 KB -56 B -4.67%
Benchmarks.Trace.RedisBenchmark.SendReceive‑net472 1.2 KB 1.15 KB -57 B -4.73%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.93μs 9.28ns 35.9ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.61μs 4.31ns 16.7ns 0 0 0 1.2 KB
master SendReceive net472 3.11μs 1.28ns 4.62ns 0.185 0 0 1.2 KB
#7851 SendReceive net6.0 1.93μs 9.82ns 35.4ns 0 0 0 1.14 KB
#7851 SendReceive netcoreapp3.1 2.51μs 10.1ns 38.9ns 0 0 0 1.14 KB
#7851 SendReceive net472 3.06μs 6.36ns 24.6ns 0.168 0 0 1.15 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.33μs 10.9ns 42.3ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.75μs 8.04ns 30.1ns 0 0 0 1.63 KB
master EnrichedLog net472 6.96μs 6.28ns 24.3ns 0.313 0 0 2.03 KB
#7851 EnrichedLog net6.0 4.43μs 5.91ns 22.9ns 0 0 0 1.58 KB
#7851 EnrichedLog netcoreapp3.1 5.75μs 10.1ns 39.3ns 0 0 0 1.63 KB
#7851 EnrichedLog net472 6.63μs 8ns 29.9ns 0.297 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 696 B 640 B -56 B -8.05%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 697 B 640 B -57 B -8.18%
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 658 B 602 B -56 B -8.51%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net472 578 B 522 B -56 B -9.69%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 576 B 520 B -56 B -9.72%
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 576 B 520 B -56 B -9.72%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 786ns 3.71ns 14.4ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 1.01μs 4.75ns 18.4ns 0 0 0 576 B
master StartFinishSpan net472 943ns 0.246ns 0.92ns 0.09 0 0 578 B
master StartFinishScope net6.0 906ns 4.96ns 30.6ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.19μs 6.13ns 31.8ns 0 0 0 697 B
master StartFinishScope net472 1.16μs 0.86ns 3.33ns 0.104 0 0 658 B
#7851 StartFinishSpan net6.0 759ns 3.59ns 15.3ns 0 0 0 520 B
#7851 StartFinishSpan netcoreapp3.1 949ns 4.77ns 21.8ns 0 0 0 520 B
#7851 StartFinishSpan net472 963ns 0.353ns 1.37ns 0.082 0 0 522 B
#7851 StartFinishScope net6.0 917ns 0.575ns 2.15ns 0 0 0 640 B
#7851 StartFinishScope netcoreapp3.1 1.14μs 4.73ns 18.3ns 0 0 0 640 B
#7851 StartFinishScope net472 1.15μs 0.383ns 1.48ns 0.0917 0 0 602 B
#7851 StartFinishTwoScopes net6.0 1.75μs 8.67ns 35.7ns 0 0 0 1.19 KB
#7851 StartFinishTwoScopes netcoreapp3.1 2.16μs 10.8ns 49.4ns 0 0 0 1.19 KB
#7851 StartFinishTwoScopes net472 2.13μs 1.92ns 7.44ns 0.171 0 0 1.08 KB
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7851

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 696 B 640 B -56 B -8.05%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 696 B 640 B -56 B -8.05%
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net472 658 B 602 B -56 B -8.51%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.06μs 5.65ns 28.2ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.47μs 6.59ns 23.8ns 0 0 0 696 B
master RunOnMethodBegin net472 1.46μs 0.443ns 1.6ns 0.102 0 0 658 B
#7851 RunOnMethodBegin net6.0 1.03μs 0.289ns 1.12ns 0 0 0 640 B
#7851 RunOnMethodBegin netcoreapp3.1 1.38μs 6.99ns 30.5ns 0 0 0 640 B
#7851 RunOnMethodBegin net472 1.44μs 2.06ns 7.69ns 0.0929 0 0 602 B

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

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7851) 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
duration75.78 ± (76.05 - 76.79) ms77.61 ± (77.45 - 78.37) ms+2.4%✅⬆️
.NET Framework 4.8 - Bailout
duration80.06 ± (80.15 - 80.96) ms80.00 ± (79.84 - 80.66) ms-0.1%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1140.54 ± (1144.48 - 1157.35) ms1086.16 ± (1087.30 - 1100.97) ms-4.8%
.NET Core 3.1 - Baseline
process.internal_duration_ms23.06 ± (23.00 - 23.13) ms23.32 ± (23.24 - 23.40) ms+1.1%✅⬆️
process.time_to_main_ms88.64 ± (88.24 - 89.04) ms90.27 ± (89.88 - 90.65) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.91 ± (10.91 - 10.92) MB10.92 ± (10.92 - 10.93) MB+0.1%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.83 ± (22.77 - 22.89) ms23.21 ± (23.13 - 23.28) ms+1.7%✅⬆️
process.time_to_main_ms89.19 ± (88.80 - 89.59) ms91.19 ± (90.69 - 91.69) ms+2.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.96 ± (10.96 - 10.96) MB10.96 ± (10.96 - 10.96) MB-0.0%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms221.45 ± (220.11 - 222.78) ms225.66 ± (224.27 - 227.04) ms+1.9%✅⬆️
process.time_to_main_ms554.26 ± (552.95 - 555.58) ms509.71 ± (508.41 - 511.02) ms-8.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed52.55 ± (52.53 - 52.58) MB47.73 ± (47.71 - 47.75) MB-9.2%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms22.14 ± (22.07 - 22.21) ms22.06 ± (21.98 - 22.14) ms-0.4%
process.time_to_main_ms78.18 ± (77.82 - 78.55) ms77.36 ± (76.94 - 77.77) ms-1.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.60 ± (10.60 - 10.60) MB10.62 ± (10.62 - 10.62) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms22.01 ± (21.95 - 22.07) ms21.98 ± (21.89 - 22.07) ms-0.1%
process.time_to_main_ms79.22 ± (78.80 - 79.64) ms79.13 ± (78.70 - 79.57) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.69 ± (10.68 - 10.69) MB10.67 ± (10.66 - 10.67) MB-0.2%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms207.21 ± (205.94 - 208.48) ms213.68 ± (211.97 - 215.38) ms+3.1%✅⬆️
process.time_to_main_ms520.90 ± (519.93 - 521.87) ms474.01 ± (472.75 - 475.28) ms-9.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed51.70 ± (51.68 - 51.73) MB48.04 ± (48.02 - 48.07) MB-7.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms20.18 ± (20.11 - 20.25) ms20.09 ± (20.01 - 20.17) ms-0.5%
process.time_to_main_ms76.59 ± (76.17 - 77.01) ms76.13 ± (75.74 - 76.52) ms-0.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.65 ± (7.65 - 7.66) MB7.64 ± (7.63 - 7.64) MB-0.2%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms20.22 ± (20.17 - 20.28) ms20.12 ± (20.04 - 20.20) ms-0.5%
process.time_to_main_ms78.21 ± (77.89 - 78.53) ms78.20 ± (77.74 - 78.67) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.72 ± (7.71 - 7.72) MB7.69 ± (7.69 - 7.70) MB-0.3%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms195.69 ± (194.66 - 196.71) ms193.85 ± (192.95 - 194.74) ms-0.9%
process.time_to_main_ms505.27 ± (504.05 - 506.48) ms461.35 ± (459.95 - 462.75) ms-8.7%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed39.02 ± (38.98 - 39.05) MB36.42 ± (36.38 - 36.46) MB-6.6%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)+0.3%✅⬆️

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration193.97 ± (193.58 - 194.55) ms192.06 ± (192.16 - 192.88) ms-1.0%
.NET Framework 4.8 - Bailout
duration196.00 ± (195.87 - 196.36) ms197.14 ± (196.90 - 197.70) ms+0.6%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1161.15 ± (1166.32 - 1175.11) ms1110.40 ± (1116.30 - 1126.64) ms-4.4%
.NET Core 3.1 - Baseline
process.internal_duration_ms188.15 ± (187.74 - 188.55) ms189.03 ± (188.62 - 189.44) ms+0.5%✅⬆️
process.time_to_main_ms80.44 ± (80.21 - 80.67) ms80.89 ± (80.67 - 81.11) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.09 ± (16.06 - 16.12) MB16.11 ± (16.08 - 16.14) MB+0.2%✅⬆️
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (20 - 20)+0.4%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms187.62 ± (187.30 - 187.94) ms187.74 ± (187.45 - 188.02) ms+0.1%✅⬆️
process.time_to_main_ms81.85 ± (81.72 - 81.98) ms81.95 ± (81.83 - 82.07) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.13 ± (16.10 - 16.16) MB16.17 ± (16.14 - 16.20) MB+0.2%✅⬆️
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (20 - 21)-0.1%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms395.47 ± (392.75 - 398.19) ms397.63 ± (395.22 - 400.04) ms+0.5%✅⬆️
process.time_to_main_ms520.15 ± (519.37 - 520.93) ms472.34 ± (471.53 - 473.16) ms-9.2%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed62.75 ± (62.60 - 62.91) MB58.74 ± (58.63 - 58.85) MB-6.4%
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 30)+0.1%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms191.95 ± (191.58 - 192.32) ms192.53 ± (192.23 - 192.82) ms+0.3%✅⬆️
process.time_to_main_ms69.69 ± (69.52 - 69.85) ms70.16 ± (70.01 - 70.32) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.25 ± (16.17 - 16.34) MB16.33 ± (16.29 - 16.37) MB+0.5%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.2%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms191.48 ± (191.14 - 191.83) ms193.10 ± (192.64 - 193.57) ms+0.8%✅⬆️
process.time_to_main_ms70.63 ± (70.53 - 70.74) ms71.14 ± (71.00 - 71.27) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed15.73 ± (15.56 - 15.90) MB16.33 ± (16.25 - 16.41) MB+3.8%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)20 ± (20 - 20)+5.4%✅⬆️
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms410.12 ± (406.74 - 413.51) ms416.50 ± (413.65 - 419.36) ms+1.6%✅⬆️
process.time_to_main_ms489.10 ± (488.43 - 489.76) ms443.73 ± (443.09 - 444.36) ms-9.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed61.91 ± (61.76 - 62.05) MB58.90 ± (58.77 - 59.02) MB-4.9%
runtime.dotnet.threads.count29 ± (29 - 29)30 ± (30 - 30)+0.4%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms190.65 ± (190.25 - 191.06) ms191.08 ± (190.70 - 191.46) ms+0.2%✅⬆️
process.time_to_main_ms69.47 ± (69.24 - 69.70) ms69.76 ± (69.59 - 69.94) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.78 ± (11.75 - 11.81) MB11.76 ± (11.73 - 11.79) MB-0.2%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.4%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms189.93 ± (189.61 - 190.25) ms190.25 ± (189.98 - 190.53) ms+0.2%✅⬆️
process.time_to_main_ms70.24 ± (70.14 - 70.33) ms70.64 ± (70.56 - 70.73) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.86 ± (11.84 - 11.89) MB11.69 ± (11.60 - 11.78) MB-1.5%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (18 - 19)-3.6%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms362.72 ± (361.27 - 364.17) ms367.74 ± (366.40 - 369.09) ms+1.4%✅⬆️
process.time_to_main_ms465.88 ± (465.23 - 466.54) ms431.14 ± (430.48 - 431.80) ms-7.5%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed50.31 ± (50.28 - 50.35) MB47.88 ± (47.85 - 47.92) MB-4.8%
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 (7851) - mean (78ms)  : 71, 85
    master - mean (76ms)  : 71, 82

    section Bailout
    This PR (7851) - mean (80ms)  : 74, 86
    master - mean (81ms)  : 75, 86

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (1,094ms)  : 987, 1201
    master - mean (1,151ms)  : 1055, 1246

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 (7851) - mean (122ms)  : 114, 129
    master - mean (119ms)  : 111, 127

    section Bailout
    This PR (7851) - mean (122ms)  : 113, 131
    master - mean (119ms)  : 113, 126

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (776ms)  : 734, 817
    master - mean (813ms)  : 773, 852

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7851) - mean (106ms)  : 97, 115
    master - mean (107ms)  : 101, 114

    section Bailout
    This PR (7851) - mean (108ms)  : 100, 117
    master - mean (109ms)  : 100, 117

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (723ms)  : 670, 776
    master - mean (760ms)  : 716, 804

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7851) - mean (105ms)  : 97, 112
    master - mean (105ms)  : 98, 113

    section Bailout
    This PR (7851) - mean (107ms)  : 98, 116
    master - mean (107ms)  : 101, 113

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (692ms)  : 656, 728
    master - mean (740ms)  : 710, 770

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 (7851) - mean (193ms)  : 189, 196
    master - mean (194ms)  : 189, 199

    section Bailout
    This PR (7851) - mean (197ms)  : 193, 201
    master - mean (196ms)  : 194, 198

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (1,121ms)  : 1047, 1195
    master - mean (1,171ms)  : 1106, 1236

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 (7851) - mean (279ms)  : 271, 287
    master - mean (277ms)  : 272, 282

    section Bailout
    This PR (7851) - mean (278ms)  : 275, 281
    master - mean (278ms)  : 273, 282

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (901ms)  : 858, 944
    master - mean (949ms)  : 905, 992

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

    section Bailout
    This PR (7851) - mean (273ms)  : 266, 279
    master - mean (270ms)  : 266, 274

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (890ms)  : 845, 936
    master - mean (928ms)  : 876, 981

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

    section Bailout
    This PR (7851) - mean (271ms)  : 267, 274
    master - mean (270ms)  : 265, 274

    section CallTarget+Inlining+NGEN
    This PR (7851) - mean (830ms)  : 809, 851
    master - mean (860ms)  : 840, 880

Loading

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:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) type:performance Performance, speed, latency, resource usage (CPU, memory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants