-
Notifications
You must be signed in to change notification settings - Fork 151
process tags : extra-careful normalization #7856
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (7856) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-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:
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 chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7856) - mean (75ms) : 69, 82
master - mean (77ms) : 70, 84
section Bailout
This PR (7856) - mean (78ms) : 74, 83
master - mean (80ms) : 75, 84
section CallTarget+Inlining+NGEN
This PR (7856) - mean (1,064ms) : 994, 1135
master - mean (1,068ms) : 1013, 1122
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 (7856) - mean (117ms) : 109, 125
master - mean (120ms) : 112, 127
section Bailout
This PR (7856) - mean (119ms) : 111, 128
master - mean (121ms) : 114, 127
section CallTarget+Inlining+NGEN
This PR (7856) - mean (760ms) : 715, 805
master - mean (773ms) : 733, 813
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7856) - mean (105ms) : 96, 113
master - mean (105ms) : 98, 112
section Bailout
This PR (7856) - mean (107ms) : 99, 116
master - mean (106ms) : 100, 111
section CallTarget+Inlining+NGEN
This PR (7856) - mean (715ms) : 684, 746
master - mean (711ms) : 682, 740
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7856) - mean (104ms) : 96, 112
master - mean (105ms) : 97, 113
section Bailout
This PR (7856) - mean (105ms) : 98, 113
master - mean (105ms) : 100, 111
section CallTarget+Inlining+NGEN
This PR (7856) - mean (691ms) : 660, 723
master - mean (687ms) : 650, 725
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 (7856) - mean (195ms) : 189, 201
master - mean (193ms) : 188, 197
section Bailout
This PR (7856) - mean (200ms) : 194, 207
master - mean (195ms) : 193, 197
section CallTarget+Inlining+NGEN
This PR (7856) - mean (1,117ms) : 1064, 1170
master - mean (1,115ms) : 1043, 1187
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 (7856) - mean (280ms) : 273, 287
master - mean (275ms) : 270, 280
section Bailout
This PR (7856) - mean (289ms) : 276, 302
master - mean (276ms) : 272, 280
section CallTarget+Inlining+NGEN
This PR (7856) - mean (921ms) : 874, 968
master - mean (903ms) : 854, 951
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7856) - mean (275ms) : 267, 283
master - mean (268ms) : 265, 272
section Bailout
This PR (7856) - mean (278ms) : 270, 285
master - mean (269ms) : 264, 274
section CallTarget+Inlining+NGEN
This PR (7856) - mean (896ms) : 861, 931
master - mean (875ms) : 834, 917
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (7856) - mean (275ms) : 266, 284
master - mean (269ms) : 264, 274
section Bailout
This PR (7856) - mean (277ms) : 267, 287
master - mean (267ms) : 265, 270
section CallTarget+Inlining+NGEN
This PR (7856) - mean (835ms) : 804, 867
master - mean (822ms) : 802, 841
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BenchmarksBenchmarks Report for benchmark platform 🐌Benchmarks for #7856 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AgentWriterBenchmark - Unknown 🤷 Same allocations ✔️Raw results
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ More allocations
|
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net6.0 | 2.83 KB | 3.17 KB | 336 B | 11.86% |
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 | 5.48 KB | 5.77 KB | 288 B | 5.26% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunWafRealisticBenchmark |
net6.0 | 446μs | 2.59μs | 23.2μs | 0 | 0 | 0 | 5.48 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 473μs | 2.77μs | 25.8μs | 0 | 0 | 0 | 4.58 KB |
| master | RunWafRealisticBenchmark |
net472 | 492μs | 356ns | 1.28μs | 0 | 0 | 0 | 0 b |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 321μs | 920ns | 3.19μs | 0 | 0 | 0 | 2.83 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 362μs | 3.19μs | 31.1μs | 0 | 0 | 0 | 2.32 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 368μs | 449ns | 1.68μs | 0 | 0 | 0 | 0 b |
| #7856 | RunWafRealisticBenchmark |
net6.0 | 422μs | 1.66μs | 6.21μs | 0 | 0 | 0 | 5.77 KB |
| #7856 | RunWafRealisticBenchmark |
netcoreapp3.1 | 448μs | 935ns | 3.37μs | 0 | 0 | 0 | 4.58 KB |
| #7856 | RunWafRealisticBenchmark |
net472 | 493μs | 346ns | 1.2μs | 0 | 0 | 0 | 0 b |
| #7856 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 311μs | 769ns | 2.66μs | 0 | 0 | 0 | 3.17 KB |
| #7856 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 367μs | 3.75μs | 35.4μs | 0 | 0 | 0 | 2.32 KB |
| #7856 | RunWafRealisticBenchmarkWithAttack |
net472 | 369μs | 107ns | 370ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net6.0 | 60.6μs | 36.8ns | 133ns | 0 | 0 | 0 | 14.52 KB |
| master | SendRequest |
netcoreapp3.1 | 72.2μs | 334ns | 1.34μs | 0 | 0 | 0 | 17.42 KB |
| master | SendRequest |
net472 | 0.161ns | 0.00536ns | 0.0208ns | 0 | 0 | 0 | 0 b |
| #7856 | SendRequest |
net6.0 | 61.3μs | 56.4ns | 211ns | 0 | 0 | 0 | 14.52 KB |
| #7856 | SendRequest |
netcoreapp3.1 | 72.2μs | 386ns | 2.04μs | 0 | 0 | 0 | 17.42 KB |
| #7856 | SendRequest |
net472 | 0.00678ns | 0.00253ns | 0.00982ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ Fewer allocations 🎉
Fewer allocations 🎉 in #7856
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0
976 B
640 B
-336 B
-34.43%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0
640 B
304 B
-336 B
-52.50%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 | 976 B | 640 B | -336 B | -34.43% |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 | 640 B | 304 B | -336 B | -52.50% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | OriginalCharSlice |
net6.0 | 1.89ms | 1.31μs | 4.9μs | 0 | 0 | 0 | 640.3 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 3.99ms | 1.21μs | 4.19μs | 0 | 0 | 0 | 640.1 KB |
| master | OriginalCharSlice |
net472 | 2.66ms | 1.44μs | 5.59μs | 0 | 0 | 0 | 647.17 KB |
| master | OptimizedCharSlice |
net6.0 | 1.42ms | 502ns | 1.74μs | 0 | 0 | 0 | 976 B |
| master | OptimizedCharSlice |
netcoreapp3.1 | 2.77ms | 1.17μs | 4.53μs | 0 | 0 | 0 | 104 B |
| master | OptimizedCharSlice |
net472 | 1.92ms | 1.12μs | 4.18μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net6.0 | 1.01ms | 744ns | 2.88μs | 0 | 0 | 0 | 640 B |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 1.92ms | 1.72μs | 6.64μs | 0 | 0 | 0 | 104 B |
| master | OptimizedCharSliceWithPool |
net472 | 1.14ms | 273ns | 946ns | 0 | 0 | 0 | 0 b |
| #7856 | OriginalCharSlice |
net6.0 | 2.05ms | 712ns | 2.76μs | 0 | 0 | 0 | 640.98 KB |
| #7856 | OriginalCharSlice |
netcoreapp3.1 | 3.97ms | 1.23μs | 4.62μs | 0 | 0 | 0 | 640.1 KB |
| #7856 | OriginalCharSlice |
net472 | 2.66ms | 955ns | 3.44μs | 0 | 0 | 0 | 647.17 KB |
| #7856 | OptimizedCharSlice |
net6.0 | 1.54ms | 505ns | 1.75μs | 0 | 0 | 0 | 640 B |
| #7856 | OptimizedCharSlice |
netcoreapp3.1 | 2.8ms | 1.12μs | 4.21μs | 0 | 0 | 0 | 104 B |
| #7856 | OptimizedCharSlice |
net472 | 1.98ms | 2.24μs | 8.67μs | 0 | 0 | 0 | 0 b |
| #7856 | OptimizedCharSliceWithPool |
net6.0 | 1.08ms | 786ns | 3.04μs | 0 | 0 | 0 | 304 B |
| #7856 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 1.86ms | 2.26μs | 8.76μs | 0 | 0 | 0 | 104 B |
| #7856 | OptimizedCharSliceWithPool |
net472 | 1.18ms | 689ns | 2.67μs | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7856
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
55.79 KB
56.36 KB
572 B
1.03%
Fewer allocations 🎉 in #7856
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
42.23 KB
41.79 KB
-448 B
-1.06%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 55.79 KB | 56.36 KB | 572 B | 1.03% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 | 42.23 KB | 41.79 KB | -448 B | -1.06% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 714μs | 3.63μs | 16.6μs | 0 | 0 | 0 | 42.23 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 746μs | 4.1μs | 24.9μs | 0 | 0 | 0 | 41.86 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 939μs | 4.3μs | 23.2μs | 4.46 | 0 | 0 | 55.79 KB |
| #7856 | WriteAndFlushEnrichedTraces |
net6.0 | 679μs | 1.01μs | 3.93μs | 0 | 0 | 0 | 41.79 KB |
| #7856 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 744μs | 3.98μs | 21.8μs | 0 | 0 | 0 | 41.8 KB |
| #7856 | WriteAndFlushEnrichedTraces |
net472 | 968μs | 3.22μs | 12μs | 8.93 | 4.46 | 0 | 56.36 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.91μs | 8.67ns | 33.6ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.53μs | 5.29ns | 20.5ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.74μs | 3.2ns | 12.4ns | 0.151 | 0 | 0 | 987 B |
| #7856 | ExecuteNonQuery |
net6.0 | 1.89μs | 6.92ns | 25.9ns | 0 | 0 | 0 | 1.02 KB |
| #7856 | ExecuteNonQuery |
netcoreapp3.1 | 2.5μs | 3.72ns | 13.4ns | 0 | 0 | 0 | 1.02 KB |
| #7856 | ExecuteNonQuery |
net472 | 2.73μs | 2.53ns | 9.47ns | 0.153 | 0 | 0 | 987 B |
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | CallElasticsearch |
net6.0 | 1.75μs | 9.2ns | 44.1ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 2.26μs | 10.9ns | 45.1ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
net472 | 3.48μs | 1.22ns | 4.56ns | 0.157 | 0 | 0 | 1.04 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.87μs | 7.73ns | 30ns | 0 | 0 | 0 | 1.01 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.41μs | 7.48ns | 25.9ns | 0 | 0 | 0 | 1.08 KB |
| master | CallElasticsearchAsync |
net472 | 3.69μs | 4.57ns | 17.7ns | 0.167 | 0 | 0 | 1.1 KB |
| #7856 | CallElasticsearch |
net6.0 | 1.75μs | 4.74ns | 18.4ns | 0 | 0 | 0 | 1.03 KB |
| #7856 | CallElasticsearch |
netcoreapp3.1 | 2.21μs | 10.9ns | 47.3ns | 0 | 0 | 0 | 1.03 KB |
| #7856 | CallElasticsearch |
net472 | 3.44μs | 2.6ns | 10.1ns | 0.155 | 0 | 0 | 1.04 KB |
| #7856 | CallElasticsearchAsync |
net6.0 | 1.88μs | 8.26ns | 32ns | 0 | 0 | 0 | 1.01 KB |
| #7856 | CallElasticsearchAsync |
netcoreapp3.1 | 2.41μs | 9.64ns | 37.3ns | 0 | 0 | 0 | 1.08 KB |
| #7856 | CallElasticsearchAsync |
net472 | 3.6μs | 1.99ns | 7.72ns | 0.165 | 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.92μs | 7.18ns | 27.8ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.45μs | 8.55ns | 33.1ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 2.58μs | 2.98ns | 11.5ns | 0.141 | 0 | 0 | 915 B |
| #7856 | ExecuteAsync |
net6.0 | 1.85μs | 9.54ns | 42.6ns | 0 | 0 | 0 | 952 B |
| #7856 | ExecuteAsync |
netcoreapp3.1 | 2.35μs | 10.9ns | 44.9ns | 0 | 0 | 0 | 952 B |
| #7856 | ExecuteAsync |
net472 | 2.51μs | 4.33ns | 16.8ns | 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 | 7μs | 11.5ns | 44.4ns | 0 | 0 | 0 | 2.36 KB |
| master | SendAsync |
netcoreapp3.1 | 8.7μs | 19.8ns | 76.9ns | 0 | 0 | 0 | 2.9 KB |
| master | SendAsync |
net472 | 12.3μs | 7.96ns | 29.8ns | 0.489 | 0 | 0 | 3.18 KB |
| #7856 | SendAsync |
net6.0 | 7μs | 15.7ns | 60.9ns | 0 | 0 | 0 | 2.36 KB |
| #7856 | SendAsync |
netcoreapp3.1 | 8.82μs | 25.1ns | 97.2ns | 0 | 0 | 0 | 2.9 KB |
| #7856 | SendAsync |
net472 | 12.7μs | 10.4ns | 40.2ns | 0.445 | 0 | 0 | 3.18 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7856
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0
43.78 KB
46.47 KB
2.7 KB
6.16%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472
278.53 KB
286.72 KB
8.19 KB
2.94%
Fewer allocations 🎉 in #7856
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
273.29 KB
258.73 KB
-14.56 KB
-5.33%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
273.14 KB
255.94 KB
-17.21 KB
-6.30%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 | 43.78 KB | 46.47 KB | 2.7 KB | 6.16% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 | 278.53 KB | 286.72 KB | 8.19 KB | 2.94% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 273.29 KB | 258.73 KB | -14.56 KB | -5.33% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 | 273.14 KB | 255.94 KB | -17.21 KB | -6.30% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 45μs | 304ns | 2.83μs | 0 | 0 | 0 | 43.78 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 52.5μs | 503ns | 4.91μs | 0 | 0 | 0 | 43.09 KB |
| master | StringConcatBenchmark |
net472 | 57μs | 278ns | 1.15μs | 0 | 0 | 0 | 57.34 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 460μs | 1.51μs | 8.01μs | 0 | 0 | 0 | 273.29 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 510μs | 2.39μs | 10.7μs | 0 | 0 | 0 | 273.14 KB |
| master | StringConcatAspectBenchmark |
net472 | 411μs | 1.98μs | 14.3μs | 0 | 0 | 0 | 278.53 KB |
| #7856 | StringConcatBenchmark |
net6.0 | 46μs | 470ns | 4.38μs | 0 | 0 | 0 | 46.47 KB |
| #7856 | StringConcatBenchmark |
netcoreapp3.1 | 49.1μs | 233ns | 1.56μs | 0 | 0 | 0 | 43.24 KB |
| #7856 | StringConcatBenchmark |
net472 | 57.3μs | 211ns | 818ns | 0 | 0 | 0 | 57.34 KB |
| #7856 | StringConcatAspectBenchmark |
net6.0 | 455μs | 1.65μs | 7.57μs | 0 | 0 | 0 | 258.73 KB |
| #7856 | StringConcatAspectBenchmark |
netcoreapp3.1 | 504μs | 1.35μs | 4.87μs | 0 | 0 | 0 | 255.94 KB |
| #7856 | StringConcatAspectBenchmark |
net472 | 401μs | 1.59μs | 5.96μ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.71μs | 13.2ns | 54.3ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.62μs | 12.5ns | 48.5ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 3.95μs | 6.07ns | 23.5ns | 0.254 | 0 | 0 | 1.64 KB |
| #7856 | EnrichedLog |
net6.0 | 2.71μs | 1.96ns | 7.6ns | 0 | 0 | 0 | 1.7 KB |
| #7856 | EnrichedLog |
netcoreapp3.1 | 3.57μs | 15.7ns | 60.7ns | 0 | 0 | 0 | 1.7 KB |
| #7856 | EnrichedLog |
net472 | 3.98μs | 4.15ns | 16.1ns | 0.258 | 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 | 123μs | 78.6ns | 305ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 126μs | 43ns | 161ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 165μs | 56.7ns | 204ns | 0 | 0 | 0 | 4.51 KB |
| #7856 | EnrichedLog |
net6.0 | 124μs | 63.9ns | 239ns | 0 | 0 | 0 | 4.31 KB |
| #7856 | EnrichedLog |
netcoreapp3.1 | 129μs | 335ns | 1.3μs | 0 | 0 | 0 | 4.31 KB |
| #7856 | EnrichedLog |
net472 | 169μs | 127ns | 492ns | 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.17μs | 21.3ns | 82.6ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 7.06μs | 15.3ns | 57.1ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.73μs | 5.53ns | 21.4ns | 0.307 | 0 | 0 | 2.08 KB |
| #7856 | EnrichedLog |
net6.0 | 4.85μs | 21ns | 75.7ns | 0 | 0 | 0 | 2.26 KB |
| #7856 | EnrichedLog |
netcoreapp3.1 | 6.95μs | 22ns | 85.3ns | 0 | 0 | 0 | 2.26 KB |
| #7856 | EnrichedLog |
net472 | 7.74μs | 9.5ns | 36.8ns | 0.311 | 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.15μs | 1.92ns | 7.2ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
netcoreapp3.1 | 2.65μs | 12.6ns | 52ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
net472 | 3.11μs | 5.92ns | 22.9ns | 0.185 | 0 | 0 | 1.2 KB |
| #7856 | SendReceive |
net6.0 | 1.97μs | 9.84ns | 36.8ns | 0 | 0 | 0 | 1.2 KB |
| #7856 | SendReceive |
netcoreapp3.1 | 2.51μs | 12.3ns | 50.9ns | 0 | 0 | 0 | 1.2 KB |
| #7856 | SendReceive |
net472 | 2.99μs | 2.1ns | 7.86ns | 0.179 | 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.36μs | 11.4ns | 44.1ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.82μs | 16.5ns | 64ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.56μs | 9.44ns | 36.5ns | 0.299 | 0 | 0 | 2.03 KB |
| #7856 | EnrichedLog |
net6.0 | 4.36μs | 12.5ns | 48.6ns | 0 | 0 | 0 | 1.58 KB |
| #7856 | EnrichedLog |
netcoreapp3.1 | 5.77μs | 8.16ns | 31.6ns | 0 | 0 | 0 | 1.63 KB |
| #7856 | EnrichedLog |
net472 | 6.59μs | 6.15ns | 23.8ns | 0.296 | 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 | 782ns | 3.87ns | 16.4ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 984ns | 4.62ns | 17.9ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 917ns | 0.137ns | 0.514ns | 0.0879 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 932ns | 4.67ns | 20.9ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.17μs | 5.15ns | 19.3ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 1.13μs | 0.23ns | 0.86ns | 0.102 | 0 | 0 | 658 B |
| master | StartFinishTwoScopes |
net6.0 | 1.73μs | 9.05ns | 43.4ns | 0 | 0 | 0 | 1.19 KB |
| master | StartFinishTwoScopes |
netcoreapp3.1 | 2.24μs | 11.4ns | 54.5ns | 0 | 0 | 0 | 1.19 KB |
| master | StartFinishTwoScopes |
net472 | 2.2μs | 1.84ns | 6.89ns | 0.166 | 0 | 0 | 1.08 KB |
| #7856 | StartFinishSpan |
net6.0 | 780ns | 0.299ns | 1.12ns | 0 | 0 | 0 | 576 B |
| #7856 | StartFinishSpan |
netcoreapp3.1 | 963ns | 5.03ns | 24.1ns | 0 | 0 | 0 | 576 B |
| #7856 | StartFinishSpan |
net472 | 905ns | 0.0613ns | 0.221ns | 0.0914 | 0 | 0 | 578 B |
| #7856 | StartFinishScope |
net6.0 | 931ns | 5.05ns | 29ns | 0 | 0 | 0 | 696 B |
| #7856 | StartFinishScope |
netcoreapp3.1 | 1.14μs | 5.85ns | 27.5ns | 0 | 0 | 0 | 696 B |
| #7856 | StartFinishScope |
net472 | 1.1μs | 0.129ns | 0.5ns | 0.105 | 0 | 0 | 658 B |
| #7856 | StartFinishTwoScopes |
net6.0 | 1.79μs | 8.81ns | 36.3ns | 0 | 0 | 0 | 1.19 KB |
| #7856 | StartFinishTwoScopes |
netcoreapp3.1 | 2.22μs | 9.89ns | 38.3ns | 0 | 0 | 0 | 1.19 KB |
| #7856 | StartFinishTwoScopes |
net472 | 2.13μs | 2.41ns | 9.34ns | 0.16 | 0 | 0 | 1.08 KB |
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.1μs | 1.17ns | 4.52ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.42μs | 7.26ns | 33.3ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.43μs | 1.4ns | 5.43ns | 0.101 | 0 | 0 | 658 B |
| #7856 | RunOnMethodBegin |
net6.0 | 1.05μs | 3ns | 11.6ns | 0 | 0 | 0 | 696 B |
| #7856 | RunOnMethodBegin |
netcoreapp3.1 | 1.45μs | 6.95ns | 27.8ns | 0 | 0 | 0 | 696 B |
| #7856 | RunOnMethodBegin |
net472 | 1.44μs | 1.07ns | 4.13ns | 0.1 | 0 | 0 | 658 B |
Summary of changes
:in values before we call the normalize method, so that it can squash them with other special chars if presentReason for change
Implementation details
Test coverage
I need to find a way to inject arbitrary values 😬
Other details