Execution-Time Benchmarks Report :stopwatch:
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.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (76ms) : 68, 84
. : milestone, 76,
master - mean (71ms) : 66, 77
. : milestone, 71,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (982ms) : 955, 1009
. : milestone, 982,
master - mean (975ms) : 951, 999
. : milestone, 975,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (110ms) : 106, 113
. : milestone, 110,
master - mean (111ms) : 107, 115
. : milestone, 111,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (716ms) : 694, 737
. : milestone, 716,
master - mean (715ms) : 689, 741
. : milestone, 715,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (95ms) : 88, 101
. : milestone, 95,
master - mean (93ms) : 90, 97
. : milestone, 93,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (665ms) : 640, 690
. : milestone, 665,
master - mean (663ms) : 641, 686
. : milestone, 663,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (188ms) : 185, 190
. : milestone, 188,
master - mean (187ms) : 184, 191
. : milestone, 187,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (1,052ms) : 1025, 1079
. : milestone, 1052,
master - mean (1,058ms) : 1040, 1076
. : milestone, 1058,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (269ms) : 263, 274
. : milestone, 269,
master - mean (270ms) : 264, 275
. : milestone, 270,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (1,055ms) : 1034, 1076
. : milestone, 1055,
master - mean (1,054ms) : 1033, 1075
. : milestone, 1054,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5220) - mean (258ms) : 253, 264
. : milestone, 258,
master - mean (259ms) : 252, 266
. : milestone, 259,
section CallTarget+Inlining+NGEN
This PR (5220) - mean (995ms) : 967, 1022
. : milestone, 995,
master - mean (992ms) : 973, 1012
. : milestone, 992,
Throughput/Crank Report:zap:
Throughput results for AspNetCoreSimpleController comparing the following branches/commits:
Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.
Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!
gantt
title Throughput Linux x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5220) (11.193M) : 0, 11193099
master (11.158M) : 0, 11157710
benchmarks/2.9.0 (11.021M) : 0, 11021065
section Automatic
This PR (5220) (7.533M) : 0, 7532682
master (7.807M) : 0, 7807261
benchmarks/2.9.0 (7.965M) : 0, 7965274
section Trace stats
This PR (5220) (7.915M) : 0, 7915327
master (8.247M) : 0, 8246522
section Manual
This PR (5220) (9.783M) : 0, 9782783
master (9.723M) : 0, 9723210
section Manual + Automatic
This PR (5220) (7.376M) : 0, 7376029
master (7.411M) : 0, 7411109
section Version Conflict
This PR (5220) (6.509M) : 0, 6508907
master (6.666M) : 0, 6665926
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5220) (9.704M) : 0, 9703624
master (9.618M) : 0, 9618036
benchmarks/2.9.0 (9.402M) : 0, 9402215
section Automatic
This PR (5220) (6.548M) : 0, 6547519
master (6.639M) : 0, 6638716
section Trace stats
This PR (5220) (7.041M) : 0, 7041359
master (6.980M) : 0, 6979705
section Manual
This PR (5220) (8.148M) : 0, 8147675
master (8.490M) : 0, 8490294
section Manual + Automatic
This PR (5220) (6.316M) : 0, 6315696
master (6.146M) : 0, 6146183
section Version Conflict
This PR (5220) (5.640M) : 0, 5640092
master (5.628M) : 0, 5627741
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (5220) (8.916M) : 0, 8916467
master (8.903M) : 0, 8902838
benchmarks/2.9.0 (8.951M) : 0, 8950875
section Automatic
This PR (5220) (6.246M) : 0, 6246373
master (6.230M) : 0, 6230432
benchmarks/2.9.0 (6.551M) : 0, 6551109
section Trace stats
This PR (5220) (6.442M) : 0, 6441860
master (6.430M) : 0, 6430368
section Manual
This PR (5220) (7.877M) : 0, 7877471
master (7.849M) : 0, 7848591
section Manual + Automatic
This PR (5220) (6.008M) : crit ,0, 6007530
master (6.843M) : 0, 6842738
section Version Conflict
This PR (5220) (5.459M) : 0, 5458670
master (5.541M) : 0, 5540885
gantt
title Throughput Linux x64 (ASM) (Total requests)
dateFormat X
axisFormat %s
section Baseline
master (7.469M) : 0, 7469406
benchmarks/2.9.0 (7.796M) : 0, 7796184
section No attack
master (1.847M) : 0, 1846785
benchmarks/2.9.0 (3.254M) : 0, 3253697
section Attack
master (1.455M) : 0, 1454749
benchmarks/2.9.0 (2.469M) : 0, 2469007
section Blocking
master (3.185M) : 0, 3185420
section IAST default
master (6.519M) : 0, 6519489
section IAST full
master (5.768M) : 0, 5767676
section Base vuln
master (0.953M) : 0, 953248
section IAST vuln
master (0.880M) : 0, 880385
Benchmarks Report :snail:
Benchmarks for #5220 compared to master:
- All benchmarks have the same speed
- 2 benchmarks have fewer allocations
- 2 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 :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StartStopWithChild |
net6.0 |
9.72μs |
87.8ns |
878ns |
0.0266 |
0.0106 |
0 |
7.49 KB |
| master |
StartStopWithChild |
netcoreapp3.1 |
10.6μs |
49.2ns |
190ns |
0.0272 |
0.0109 |
0 |
7.59 KB |
| master |
StartStopWithChild |
net472 |
16.5μs |
76.8ns |
297ns |
1.35 |
0.345 |
0.0985 |
7.96 KB |
| #5220 |
StartStopWithChild |
net6.0 |
8.64μs |
47.6ns |
289ns |
0.0215 |
0.00862 |
0 |
7.5 KB |
| #5220 |
StartStopWithChild |
netcoreapp3.1 |
10.8μs |
58ns |
328ns |
0.0378 |
0.0162 |
0.0054 |
7.58 KB |
| #5220 |
StartStopWithChild |
net472 |
16.9μs |
62.7ns |
243ns |
1.34 |
0.349 |
0.102 |
7.97 KB |
Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
WriteAndFlushEnrichedTraces |
net6.0 |
463μs |
130ns |
505ns |
0 |
0 |
0 |
2.7 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
656μs |
161ns |
581ns |
0 |
0 |
0 |
2.7 KB |
| master |
WriteAndFlushEnrichedTraces |
net472 |
807μs |
310ns |
1.2μs |
0.403 |
0 |
0 |
3.3 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
net6.0 |
450μs |
172ns |
665ns |
0 |
0 |
0 |
2.7 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
654μs |
121ns |
454ns |
0 |
0 |
0 |
2.7 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
net472 |
790μs |
365ns |
1.41μs |
0.396 |
0 |
0 |
3.3 KB |
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
AllCycleSimpleBody |
net6.0 |
39.9μs |
32.8ns |
127ns |
0.0199 |
0 |
0 |
2.36 KB |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
43.9μs |
108ns |
417ns |
0.0217 |
0 |
0 |
2.34 KB |
| master |
AllCycleSimpleBody |
net472 |
46.8μs |
22.1ns |
79.5ns |
0.373 |
0 |
0 |
2.41 KB |
| master |
AllCycleMoreComplexBody |
net6.0 |
220μs |
203ns |
786ns |
0.107 |
0 |
0 |
9.84 KB |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
225μs |
77.6ns |
280ns |
0.112 |
0 |
0 |
9.73 KB |
| master |
AllCycleMoreComplexBody |
net472 |
241μs |
89.6ns |
347ns |
1.56 |
0 |
0 |
9.91 KB |
| master |
ObjectExtractorSimpleBody |
net6.0 |
139ns |
0.127ns |
0.474ns |
0.00393 |
0 |
0 |
280 B |
| master |
ObjectExtractorSimpleBody |
netcoreapp3.1 |
210ns |
0.105ns |
0.393ns |
0.00371 |
0 |
0 |
272 B |
| master |
ObjectExtractorSimpleBody |
net472 |
165ns |
0.134ns |
0.52ns |
0.0446 |
0 |
0 |
281 B |
| master |
ObjectExtractorMoreComplexBody |
net6.0 |
2.99μs |
2.57ns |
9.28ns |
0.0536 |
0 |
0 |
3.78 KB |
| master |
ObjectExtractorMoreComplexBody |
netcoreapp3.1 |
4.06μs |
1.66ns |
6.41ns |
0.0507 |
0 |
0 |
3.69 KB |
| master |
ObjectExtractorMoreComplexBody |
net472 |
4.2μs |
2.66ns |
10.3ns |
0.603 |
0.0063 |
0 |
3.8 KB |
| #5220 |
AllCycleSimpleBody |
net6.0 |
40.3μs |
16.1ns |
62.5ns |
0.0204 |
0 |
0 |
2.36 KB |
| #5220 |
AllCycleSimpleBody |
netcoreapp3.1 |
44.2μs |
43.9ns |
158ns |
0.0222 |
0 |
0 |
2.34 KB |
| #5220 |
AllCycleSimpleBody |
net472 |
47.1μs |
34.9ns |
135ns |
0.373 |
0 |
0 |
2.41 KB |
| #5220 |
AllCycleMoreComplexBody |
net6.0 |
213μs |
101ns |
392ns |
0.107 |
0 |
0 |
9.84 KB |
| #5220 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
226μs |
317ns |
1.23μs |
0.112 |
0 |
0 |
9.73 KB |
| #5220 |
AllCycleMoreComplexBody |
net472 |
240μs |
60.7ns |
227ns |
1.56 |
0 |
0 |
9.91 KB |
| #5220 |
ObjectExtractorSimpleBody |
net6.0 |
139ns |
0.0813ns |
0.315ns |
0.00395 |
0 |
0 |
280 B |
| #5220 |
ObjectExtractorSimpleBody |
netcoreapp3.1 |
208ns |
0.0722ns |
0.27ns |
0.00367 |
0 |
0 |
272 B |
| #5220 |
ObjectExtractorSimpleBody |
net472 |
166ns |
0.0764ns |
0.296ns |
0.0446 |
0 |
0 |
281 B |
| #5220 |
ObjectExtractorMoreComplexBody |
net6.0 |
3.08μs |
2.02ns |
7.83ns |
0.0527 |
0 |
0 |
3.78 KB |
| #5220 |
ObjectExtractorMoreComplexBody |
netcoreapp3.1 |
4.01μs |
1.96ns |
7.07ns |
0.0501 |
0 |
0 |
3.69 KB |
| #5220 |
ObjectExtractorMoreComplexBody |
net472 |
3.84μs |
1.51ns |
5.65ns |
0.602 |
0.00576 |
0 |
3.8 KB |
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
EncodeArgs |
net6.0 |
53.5μs |
70.4ns |
273ns |
0.426 |
0 |
0 |
30.94 KB |
| master |
EncodeArgs |
netcoreapp3.1 |
70.3μs |
73.8ns |
286ns |
0.424 |
0 |
0 |
31.47 KB |
| master |
EncodeArgs |
net472 |
84.6μs |
52.4ns |
189ns |
5.11 |
0.0845 |
0 |
32.27 KB |
| master |
EncodeLegacyArgs |
net6.0 |
128μs |
138ns |
478ns |
0.476 |
0 |
0 |
33.89 KB |
| master |
EncodeLegacyArgs |
netcoreapp3.1 |
154μs |
398ns |
1.54μs |
0.453 |
0 |
0 |
34.08 KB |
| master |
EncodeLegacyArgs |
net472 |
211μs |
194ns |
750ns |
5.48 |
0.422 |
0 |
34.99 KB |
| #5220 |
EncodeArgs |
net6.0 |
52.4μs |
98.2ns |
367ns |
0.419 |
0 |
0 |
30.94 KB |
| #5220 |
EncodeArgs |
netcoreapp3.1 |
69.4μs |
57ns |
213ns |
0.418 |
0 |
0 |
31.47 KB |
| #5220 |
EncodeArgs |
net472 |
84.1μs |
43.5ns |
163ns |
5.11 |
0.0838 |
0 |
32.27 KB |
| #5220 |
EncodeLegacyArgs |
net6.0 |
124μs |
192ns |
666ns |
0.443 |
0 |
0 |
33.89 KB |
| #5220 |
EncodeLegacyArgs |
netcoreapp3.1 |
154μs |
340ns |
1.32μs |
0.465 |
0 |
0 |
34.09 KB |
| #5220 |
EncodeLegacyArgs |
net472 |
212μs |
207ns |
802ns |
5.49 |
0.422 |
0 |
34.99 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
RunWafRealisticBenchmark |
net6.0 |
188μs |
122ns |
474ns |
0 |
0 |
0 |
6.51 KB |
| master |
RunWafRealisticBenchmark |
netcoreapp3.1 |
203μs |
225ns |
871ns |
0 |
0 |
0 |
6.49 KB |
| master |
RunWafRealisticBenchmark |
net472 |
223μs |
210ns |
812ns |
1 |
0 |
0 |
6.59 KB |
| master |
RunWafRealisticBenchmarkWithAttack |
net6.0 |
125μs |
66.5ns |
258ns |
0.0638 |
0 |
0 |
4.15 KB |
| master |
RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 |
134μs |
104ns |
404ns |
0 |
0 |
0 |
4.14 KB |
| master |
RunWafRealisticBenchmarkWithAttack |
net472 |
147μs |
81.3ns |
315ns |
0.599 |
0 |
0 |
4.19 KB |
| #5220 |
RunWafRealisticBenchmark |
net6.0 |
193μs |
149ns |
577ns |
0.0963 |
0 |
0 |
6.51 KB |
| #5220 |
RunWafRealisticBenchmark |
netcoreapp3.1 |
207μs |
527ns |
2.04μs |
0 |
0 |
0 |
6.49 KB |
| #5220 |
RunWafRealisticBenchmark |
net472 |
225μs |
132ns |
513ns |
1.01 |
0 |
0 |
6.59 KB |
| #5220 |
RunWafRealisticBenchmarkWithAttack |
net6.0 |
127μs |
146ns |
566ns |
0.0633 |
0 |
0 |
4.15 KB |
| #5220 |
RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 |
134μs |
84.5ns |
316ns |
0 |
0 |
0 |
4.15 KB |
| #5220 |
RunWafRealisticBenchmarkWithAttack |
net472 |
147μs |
79.4ns |
307ns |
0.661 |
0 |
0 |
4.19 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
SendRequest |
net6.0 |
171μs |
279ns |
1.08μs |
0.257 |
0 |
0 |
18.26 KB |
| master |
SendRequest |
netcoreapp3.1 |
189μs |
384ns |
1.44μs |
0.189 |
0 |
0 |
20.42 KB |
| master |
SendRequest |
net472 |
0.000996ns |
0.000327ns |
0.00127ns |
0 |
0 |
0 |
0 b |
| #5220 |
SendRequest |
net6.0 |
174μs |
122ns |
474ns |
0.172 |
0 |
0 |
18.26 KB |
| #5220 |
SendRequest |
netcoreapp3.1 |
195μs |
370ns |
1.43μs |
0.146 |
0 |
0 |
20.44 KB |
| #5220 |
SendRequest |
net472 |
0.00185ns |
0.00053ns |
0.00198ns |
0 |
0 |
0 |
0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #5220
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 |
41.36 KB |
41.73 KB |
373 B |
0.90% |
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
WriteAndFlushEnrichedTraces |
net6.0 |
535μs |
248ns |
927ns |
0.539 |
0 |
0 |
41.36 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
645μs |
866ns |
3.24μs |
0.332 |
0 |
0 |
41.79 KB |
| master |
WriteAndFlushEnrichedTraces |
net472 |
837μs |
2.96μs |
11.5μs |
8.28 |
2.48 |
0.414 |
53.25 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
net6.0 |
533μs |
468ns |
1.81μs |
0.548 |
0 |
0 |
41.73 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
664μs |
1.2μs |
4.64μs |
0.334 |
0 |
0 |
41.82 KB |
| #5220 |
WriteAndFlushEnrichedTraces |
net472 |
836μs |
3.74μs |
16.3μs |
8.22 |
2.47 |
0.411 |
53.24 KB |
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
ExecuteNonQuery |
net6.0 |
1.11μs |
0.455ns |
1.76ns |
0.0111 |
0 |
0 |
776 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.49μs |
0.758ns |
2.83ns |
0.0105 |
0 |
0 |
776 B |
| master |
ExecuteNonQuery |
net472 |
1.77μs |
0.655ns |
2.54ns |
0.117 |
0 |
0 |
738 B |
| #5220 |
ExecuteNonQuery |
net6.0 |
1.09μs |
0.558ns |
2.16ns |
0.0109 |
0 |
0 |
776 B |
| #5220 |
ExecuteNonQuery |
netcoreapp3.1 |
1.52μs |
0.692ns |
2.59ns |
0.0106 |
0 |
0 |
776 B |
| #5220 |
ExecuteNonQuery |
net472 |
1.75μs |
5.03ns |
19.5ns |
0.116 |
0 |
0 |
738 B |
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
CallElasticsearch |
net6.0 |
1.18μs |
1.1ns |
4.26ns |
0.0131 |
0 |
0 |
944 B |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.52μs |
0.45ns |
1.62ns |
0.0129 |
0 |
0 |
944 B |
| master |
CallElasticsearch |
net472 |
2.52μs |
1.44ns |
5.59ns |
0.152 |
0 |
0 |
963 B |
| master |
CallElasticsearchAsync |
net6.0 |
1.31μs |
0.76ns |
2.74ns |
0.0125 |
0 |
0 |
920 B |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.68μs |
1.72ns |
6.42ns |
0.0134 |
0 |
0 |
992 B |
| master |
CallElasticsearchAsync |
net472 |
2.68μs |
1.39ns |
5.38ns |
0.161 |
0 |
0 |
1.02 KB |
| #5220 |
CallElasticsearch |
net6.0 |
1.13μs |
0.886ns |
3.43ns |
0.0132 |
0 |
0 |
944 B |
| #5220 |
CallElasticsearch |
netcoreapp3.1 |
1.47μs |
2.76ns |
10.7ns |
0.0126 |
0 |
0 |
944 B |
| #5220 |
CallElasticsearch |
net472 |
2.44μs |
1ns |
3.88ns |
0.152 |
0 |
0 |
963 B |
| #5220 |
CallElasticsearchAsync |
net6.0 |
1.35μs |
0.818ns |
3.06ns |
0.0128 |
0 |
0 |
920 B |
| #5220 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.66μs |
0.821ns |
3.07ns |
0.0133 |
0 |
0 |
992 B |
| #5220 |
CallElasticsearchAsync |
net472 |
2.55μs |
1.2ns |
4.65ns |
0.161 |
0 |
0 |
1.02 KB |
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
ExecuteAsync |
net6.0 |
1.37μs |
0.791ns |
2.96ns |
0.0125 |
0 |
0 |
920 B |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.63μs |
0.77ns |
2.88ns |
0.0123 |
0 |
0 |
920 B |
| master |
ExecuteAsync |
net472 |
1.76μs |
0.611ns |
2.2ns |
0.14 |
0 |
0 |
883 B |
| #5220 |
ExecuteAsync |
net6.0 |
1.25μs |
0.907ns |
3.39ns |
0.0131 |
0 |
0 |
920 B |
| #5220 |
ExecuteAsync |
netcoreapp3.1 |
1.59μs |
1.39ns |
5.4ns |
0.0119 |
0 |
0 |
920 B |
| #5220 |
ExecuteAsync |
net472 |
1.85μs |
0.796ns |
2.98ns |
0.139 |
0 |
0 |
883 B |
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
SendAsync |
net6.0 |
3.95μs |
0.815ns |
3.05ns |
0.0296 |
0 |
0 |
2.1 KB |
| master |
SendAsync |
netcoreapp3.1 |
4.94μs |
1.81ns |
7.02ns |
0.0371 |
0 |
0 |
2.64 KB |
| master |
SendAsync |
net472 |
7.74μs |
8.36ns |
32.4ns |
0.525 |
0 |
0 |
3.31 KB |
| #5220 |
SendAsync |
net6.0 |
4μs |
2.12ns |
8.21ns |
0.0281 |
0 |
0 |
2.1 KB |
| #5220 |
SendAsync |
netcoreapp3.1 |
5.02μs |
0.772ns |
2.89ns |
0.0351 |
0 |
0 |
2.64 KB |
| #5220 |
SendAsync |
net472 |
7.68μs |
3.38ns |
13.1ns |
0.525 |
0 |
0 |
3.31 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:
More allocations :warning: in #5220
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 |
59.04 KB |
59.86 KB |
824 B |
1.40% |
Fewer allocations :tada: in #5220
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 |
203.52 KB |
202.18 KB |
-1.34 KB |
-0.66% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 |
212.91 KB |
202.29 KB |
-10.62 KB |
-4.99% |
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StringConcatBenchmark |
net6.0 |
58.2μs |
638ns |
6.35μs |
0 |
0 |
0 |
43.44 KB |
| master |
StringConcatBenchmark |
netcoreapp3.1 |
61.1μs |
711ns |
6.97μs |
0 |
0 |
0 |
42.64 KB |
| master |
StringConcatBenchmark |
net472 |
38μs |
161ns |
582ns |
0 |
0 |
0 |
59.04 KB |
| master |
StringConcatAspectBenchmark |
net6.0 |
265μs |
1.28μs |
5.12μs |
0 |
0 |
0 |
203.52 KB |
| master |
StringConcatAspectBenchmark |
netcoreapp3.1 |
278μs |
1.6μs |
12.8μs |
0 |
0 |
0 |
212.91 KB |
| master |
StringConcatAspectBenchmark |
net472 |
230μs |
1.86μs |
16.6μs |
0 |
0 |
0 |
221.18 KB |
| #5220 |
StringConcatBenchmark |
net6.0 |
54.6μs |
184ns |
690ns |
0 |
0 |
0 |
43.44 KB |
| #5220 |
StringConcatBenchmark |
netcoreapp3.1 |
62.7μs |
773ns |
7.58μs |
0 |
0 |
0 |
42.64 KB |
| #5220 |
StringConcatBenchmark |
net472 |
37.7μs |
129ns |
482ns |
0 |
0 |
0 |
59.86 KB |
| #5220 |
StringConcatAspectBenchmark |
net6.0 |
245μs |
4.35μs |
41.7μs |
0 |
0 |
0 |
202.18 KB |
| #5220 |
StringConcatAspectBenchmark |
netcoreapp3.1 |
285μs |
1.58μs |
9.76μs |
0 |
0 |
0 |
202.29 KB |
| #5220 |
StringConcatAspectBenchmark |
net472 |
228μs |
1.99μs |
18.5μs |
0 |
0 |
0 |
221.18 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
EnrichedLog |
net6.0 |
1.5μs |
0.698ns |
2.7ns |
0.0218 |
0 |
0 |
1.58 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.11μs |
1.79ns |
6.92ns |
0.0211 |
0 |
0 |
1.58 KB |
| master |
EnrichedLog |
net472 |
2.6μs |
1.31ns |
5.06ns |
0.239 |
0 |
0 |
1.51 KB |
| #5220 |
EnrichedLog |
net6.0 |
1.51μs |
1.22ns |
4.72ns |
0.0217 |
0 |
0 |
1.58 KB |
| #5220 |
EnrichedLog |
netcoreapp3.1 |
2.2μs |
1.94ns |
7.25ns |
0.021 |
0 |
0 |
1.58 KB |
| #5220 |
EnrichedLog |
net472 |
2.64μs |
3.36ns |
13ns |
0.239 |
0 |
0 |
1.51 KB |
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
EnrichedLog |
net6.0 |
113μs |
97.6ns |
338ns |
0.0563 |
0 |
0 |
4.22 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
119μs |
179ns |
669ns |
0.0589 |
0 |
0 |
4.22 KB |
| master |
EnrichedLog |
net472 |
148μs |
64ns |
248ns |
0.669 |
0.223 |
0 |
4.4 KB |
| #5220 |
EnrichedLog |
net6.0 |
116μs |
151ns |
565ns |
0 |
0 |
0 |
4.22 KB |
| #5220 |
EnrichedLog |
netcoreapp3.1 |
119μs |
88.1ns |
341ns |
0.0594 |
0 |
0 |
4.22 KB |
| #5220 |
EnrichedLog |
net472 |
147μs |
44.5ns |
172ns |
0.664 |
0.221 |
0 |
4.4 KB |
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
EnrichedLog |
net6.0 |
2.82μs |
1.34ns |
5.2ns |
0.0298 |
0 |
0 |
2.14 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.2μs |
1.99ns |
7.71ns |
0.0273 |
0 |
0 |
2.14 KB |
| master |
EnrichedLog |
net472 |
4.93μs |
0.945ns |
3.66ns |
0.31 |
0 |
0 |
1.95 KB |
| #5220 |
EnrichedLog |
net6.0 |
2.88μs |
1.64ns |
5.67ns |
0.0301 |
0 |
0 |
2.14 KB |
| #5220 |
EnrichedLog |
netcoreapp3.1 |
4.25μs |
1.68ns |
6.51ns |
0.0277 |
0 |
0 |
2.14 KB |
| #5220 |
EnrichedLog |
net472 |
4.84μs |
1.41ns |
5.29ns |
0.309 |
0 |
0 |
1.95 KB |
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
SendReceive |
net6.0 |
1.34μs |
0.953ns |
3.69ns |
0.0152 |
0 |
0 |
1.11 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.85μs |
0.648ns |
2.34ns |
0.0148 |
0 |
0 |
1.11 KB |
| master |
SendReceive |
net472 |
2.16μs |
2.32ns |
8.04ns |
0.178 |
0 |
0 |
1.12 KB |
| #5220 |
SendReceive |
net6.0 |
1.34μs |
0.346ns |
1.3ns |
0.0158 |
0 |
0 |
1.11 KB |
| #5220 |
SendReceive |
netcoreapp3.1 |
1.76μs |
0.468ns |
1.75ns |
0.0149 |
0 |
0 |
1.11 KB |
| #5220 |
SendReceive |
net472 |
2.17μs |
3.64ns |
14.1ns |
0.178 |
0 |
0 |
1.12 KB |
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
EnrichedLog |
net6.0 |
2.8μs |
0.815ns |
3.16ns |
0.0213 |
0 |
0 |
1.54 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
3.97μs |
2.28ns |
8.84ns |
0.02 |
0 |
0 |
1.58 KB |
| master |
EnrichedLog |
net472 |
4.3μs |
1.13ns |
4.22ns |
0.312 |
0 |
0 |
1.97 KB |
| #5220 |
EnrichedLog |
net6.0 |
2.68μs |
0.876ns |
3.16ns |
0.0213 |
0 |
0 |
1.54 KB |
| #5220 |
EnrichedLog |
netcoreapp3.1 |
3.92μs |
6.25ns |
24.2ns |
0.0216 |
0 |
0 |
1.58 KB |
| #5220 |
EnrichedLog |
net472 |
4.38μs |
1.3ns |
4.86ns |
0.312 |
0 |
0 |
1.97 KB |
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StartFinishSpan |
net6.0 |
505ns |
0.637ns |
2.47ns |
0.00759 |
0 |
0 |
544 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
781ns |
2.47ns |
9.58ns |
0.0074 |
0 |
0 |
544 B |
| master |
StartFinishSpan |
net472 |
788ns |
1.67ns |
6.45ns |
0.0865 |
0 |
0 |
546 B |
| master |
StartFinishScope |
net6.0 |
605ns |
0.835ns |
3.23ns |
0.00943 |
0 |
0 |
664 B |
| master |
StartFinishScope |
netcoreapp3.1 |
830ns |
1.63ns |
6.31ns |
0.00888 |
0 |
0 |
664 B |
| master |
StartFinishScope |
net472 |
904ns |
2.53ns |
9.8ns |
0.0992 |
0 |
0 |
626 B |
| #5220 |
StartFinishSpan |
net6.0 |
497ns |
0.393ns |
1.52ns |
0.00748 |
0 |
0 |
544 B |
| #5220 |
StartFinishSpan |
netcoreapp3.1 |
758ns |
0.908ns |
3.52ns |
0.00768 |
0 |
0 |
544 B |
| #5220 |
StartFinishSpan |
net472 |
762ns |
1.23ns |
4.78ns |
0.0865 |
0 |
0 |
546 B |
| #5220 |
StartFinishScope |
net6.0 |
582ns |
0.708ns |
2.74ns |
0.00939 |
0 |
0 |
664 B |
| #5220 |
StartFinishScope |
netcoreapp3.1 |
794ns |
0.845ns |
3.27ns |
0.0091 |
0 |
0 |
664 B |
| #5220 |
StartFinishScope |
net472 |
956ns |
1.03ns |
3.97ns |
0.0995 |
0 |
0 |
626 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
RunOnMethodBegin |
net6.0 |
643ns |
1.7ns |
6.37ns |
0.00927 |
0 |
0 |
664 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
903ns |
1.25ns |
4.85ns |
0.00911 |
0 |
0 |
664 B |
| master |
RunOnMethodBegin |
net472 |
1.07μs |
1.27ns |
4.76ns |
0.099 |
0 |
0 |
626 B |
| #5220 |
RunOnMethodBegin |
net6.0 |
678ns |
0.274ns |
1.06ns |
0.00944 |
0 |
0 |
664 B |
| #5220 |
RunOnMethodBegin |
netcoreapp3.1 |
912ns |
2.02ns |
7.82ns |
0.00903 |
0 |
0 |
664 B |
| #5220 |
RunOnMethodBegin |
net472 |
1.06μs |
1.49ns |
5.78ns |
0.0994 |
0 |
0 |
626 B |