Bumps InlineIL.Fody from 1.7.4 to 1.8.0.
Release notes
Sourced from InlineIL.Fody's releases.
v1.8.0
- Updated Fody to v6.8.0, which supports RVA field alignment
- Added warnings for unused locals
- Changed parameter of
IL.PushInRef to use ref readonly instead of in, to make the reference usage stand out at the call site
Commits
d4b6998 Cleanup
f86d060 Code style changes
4aa45c4 Use switch expressions
1c31342 Use C# 12 features, cleanup
12ad232 Only export the InlineIL.Fody namespace from the weaver
15549b8 Add test for exported namespaces
fece103 Fix type accessibility
f71f71a Refactor language version handling
84468e7 IL.PushInRef: Use ref readonly instead of in
3bb0160 Update for .NET 8
- Additional commits viewable in compare view

You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
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 (5085) - mean (72ms) : 63, 82
. : milestone, 72,
master - mean (73ms) : 63, 84
. : milestone, 73,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (963ms) : 939, 986
. : milestone, 963,
master - mean (1,028ms) : 1003, 1053
. : milestone, 1028,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5085) - mean (107ms) : 104, 110
. : milestone, 107,
master - mean (106ms) : 102, 110
. : milestone, 106,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (705ms) : 684, 726
. : milestone, 705,
master - mean (731ms) : 714, 748
. : milestone, 731,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5085) - mean (91ms) : 88, 94
. : milestone, 91,
master - mean (90ms) : 87, 93
. : milestone, 90,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (658ms) : 641, 675
. : milestone, 658,
master - mean (693ms) : 669, 716
. : milestone, 693,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5085) - mean (189ms) : 186, 191
. : milestone, 189,
master - mean (189ms) : 185, 192
. : milestone, 189,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (1,065ms) : 1043, 1088
. : milestone, 1065,
master - mean (1,135ms) : 1117, 1154
. : milestone, 1135,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5085) - mean (273ms) : 268, 278
. : milestone, 273,
master - mean (272ms) : 267, 277
. : milestone, 272,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (1,048ms) : 1019, 1077
. : milestone, 1048,
master - mean (1,086ms) : 1064, 1109
. : milestone, 1086,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (5085) - mean (262ms) : 259, 265
. : milestone, 262,
master - mean (261ms) : 258, 265
. : milestone, 261,
section CallTarget+Inlining+NGEN
This PR (5085) - mean (1,019ms) : 999, 1040
. : milestone, 1019,
master - mean (1,053ms) : 1033, 1073
. : milestone, 1053,
Benchmarks Report :snail:
Benchmarks for #5085 compared to master:
- 4 benchmarks are faster, with geometric mean 1.170
- 2 benchmarks are slower, with geometric mean 1.173
- 2 benchmarks have fewer allocations
- 1 benchmarks have more allocations
The following thresholds were used for comparing the benchmark speeds:
- Mann–Whitney U test with statistical test for significance of 5%
- Only results indicating a difference greater than 10% and 0.3 ns are considered.
Allocation changes below 0.5% are ignored.
Benchmark details
Benchmarks.Trace.ActivityBenchmark - Same speed :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 |
8.61μs |
38.3ns |
143ns |
0.0375 |
0.0167 |
0 |
7.48 KB |
| master |
StartStopWithChild |
netcoreapp3.1 |
10.7μs |
56.8ns |
321ns |
0.0255 |
0.0102 |
0 |
7.58 KB |
| master |
StartStopWithChild |
net472 |
17.4μs |
50.3ns |
195ns |
1.35 |
0.361 |
0.129 |
7.95 KB |
| #5085 |
StartStopWithChild |
net6.0 |
8.61μs |
47.8ns |
295ns |
0.0246 |
0.0123 |
0 |
7.48 KB |
| #5085 |
StartStopWithChild |
netcoreapp3.1 |
10.7μs |
57.3ns |
324ns |
0.0262 |
0.0105 |
0 |
7.58 KB |
| #5085 |
StartStopWithChild |
net472 |
17.3μs |
72ns |
279ns |
1.33 |
0.374 |
0.113 |
7.95 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 |
458μs |
705ns |
2.64μs |
0 |
0 |
0 |
2.7 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
634μs |
309ns |
1.2μs |
0 |
0 |
0 |
2.7 KB |
| master |
WriteAndFlushEnrichedTraces |
net472 |
797μs |
341ns |
1.23μs |
0.398 |
0 |
0 |
3.3 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
net6.0 |
457μs |
318ns |
1.15μs |
0 |
0 |
0 |
2.7 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
643μs |
327ns |
1.22μs |
0 |
0 |
0 |
2.7 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
net472 |
813μs |
302ns |
1.17μs |
0.406 |
0 |
0 |
3.3 KB |
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Faster :tada: Same allocations :heavy_check_mark:
Faster :tada: in #5085
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑netcoreapp3.1 |
1.240 |
244.35 |
197.05 |
|
| Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑net472 |
1.119 |
184.86 |
165.24 |
|
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
AllCycleSimpleBody |
net6.0 |
38.7μs |
48ns |
186ns |
0.019 |
0 |
0 |
1.77 KB |
| master |
AllCycleSimpleBody |
netcoreapp3.1 |
42.1μs |
22.6ns |
78.1ns |
0.0211 |
0 |
0 |
1.74 KB |
| master |
AllCycleSimpleBody |
net472 |
44.2μs |
13.1ns |
50.9ns |
0.288 |
0 |
0 |
1.81 KB |
| master |
AllCycleMoreComplexBody |
net6.0 |
201μs |
73.9ns |
286ns |
0.1 |
0 |
0 |
9.25 KB |
| master |
AllCycleMoreComplexBody |
netcoreapp3.1 |
213μs |
315ns |
1.14μs |
0.105 |
0 |
0 |
9.14 KB |
| master |
AllCycleMoreComplexBody |
net472 |
224μs |
81.9ns |
317ns |
1.46 |
0 |
0 |
9.32 KB |
| master |
ObjectExtractorSimpleBody |
net6.0 |
151ns |
0.0595ns |
0.223ns |
0.0039 |
0 |
0 |
280 B |
| master |
ObjectExtractorSimpleBody |
netcoreapp3.1 |
244ns |
0.0727ns |
0.272ns |
0.00369 |
0 |
0 |
272 B |
| master |
ObjectExtractorSimpleBody |
net472 |
185ns |
0.117ns |
0.439ns |
0.0446 |
0 |
0 |
281 B |
| master |
ObjectExtractorMoreComplexBody |
net6.0 |
3.02μs |
1.43ns |
5.33ns |
0.0527 |
0 |
0 |
3.78 KB |
| master |
ObjectExtractorMoreComplexBody |
netcoreapp3.1 |
3.88μs |
1.35ns |
5.21ns |
0.0506 |
0 |
0 |
3.69 KB |
| master |
ObjectExtractorMoreComplexBody |
net472 |
3.77μs |
1.25ns |
4.84ns |
0.603 |
0.00565 |
0 |
3.8 KB |
| #5085 |
AllCycleSimpleBody |
net6.0 |
38.4μs |
16.9ns |
63.1ns |
0.0193 |
0 |
0 |
1.77 KB |
| #5085 |
AllCycleSimpleBody |
netcoreapp3.1 |
41.7μs |
38.9ns |
151ns |
0.0207 |
0 |
0 |
1.74 KB |
| #5085 |
AllCycleSimpleBody |
net472 |
44.3μs |
14.3ns |
55.5ns |
0.285 |
0 |
0 |
1.81 KB |
| #5085 |
AllCycleMoreComplexBody |
net6.0 |
198μs |
123ns |
477ns |
0.099 |
0 |
0 |
9.25 KB |
| #5085 |
AllCycleMoreComplexBody |
netcoreapp3.1 |
208μs |
123ns |
460ns |
0.103 |
0 |
0 |
9.14 KB |
| #5085 |
AllCycleMoreComplexBody |
net472 |
223μs |
58.8ns |
212ns |
1.46 |
0 |
0 |
9.32 KB |
| #5085 |
ObjectExtractorSimpleBody |
net6.0 |
144ns |
0.0729ns |
0.273ns |
0.00398 |
0 |
0 |
280 B |
| #5085 |
ObjectExtractorSimpleBody |
netcoreapp3.1 |
197ns |
0.0581ns |
0.225ns |
0.00377 |
0 |
0 |
272 B |
| #5085 |
ObjectExtractorSimpleBody |
net472 |
165ns |
0.0855ns |
0.331ns |
0.0446 |
0 |
0 |
281 B |
| #5085 |
ObjectExtractorMoreComplexBody |
net6.0 |
2.94μs |
1.38ns |
5.18ns |
0.0528 |
0 |
0 |
3.78 KB |
| #5085 |
ObjectExtractorMoreComplexBody |
netcoreapp3.1 |
3.97μs |
1.71ns |
6.63ns |
0.0499 |
0 |
0 |
3.69 KB |
| #5085 |
ObjectExtractorMoreComplexBody |
net472 |
3.76μs |
1.33ns |
4.97ns |
0.602 |
0.00562 |
0 |
3.8 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 |
RunWaf(args=NestedMap (10)) |
net6.0 |
52μs |
18.9ns |
73.4ns |
0.224 |
0 |
0 |
16.06 KB |
| master |
RunWaf(args=NestedMap (10)) |
netcoreapp3.1 |
70.1μs |
394ns |
2.87μs |
0.195 |
0 |
0 |
16.06 KB |
| master |
RunWaf(args=NestedMap (10)) |
net472 |
101μs |
65.5ns |
254ns |
2.53 |
0.0956 |
0 |
16.14 KB |
| master |
RunWafTwice(args=NestedMap (10)) |
net6.0 |
57.2μs |
287ns |
1.25μs |
0.232 |
0 |
0 |
16.6 KB |
| master |
RunWafTwice(args=NestedMap (10)) |
netcoreapp3.1 |
72.1μs |
383ns |
1.91μs |
0.222 |
0 |
0 |
16.58 KB |
| master |
RunWafTwice(args=NestedMap (10)) |
net472 |
105μs |
32ns |
120ns |
2.63 |
0.105 |
0 |
16.69 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 |
108μs |
107ns |
416ns |
0.273 |
0 |
0 |
22.41 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 |
133μs |
659ns |
2.72μs |
0.256 |
0 |
0 |
22.36 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 |
163μs |
765ns |
3.06μs |
3.58 |
0.159 |
0 |
22.7 KB |
| master |
RunWaf(args=NestedMap (100)) |
net6.0 |
103μs |
43.2ns |
162ns |
0.466 |
0 |
0 |
32.76 KB |
| master |
RunWaf(args=NestedMap (100)) |
netcoreapp3.1 |
133μs |
746ns |
4.72μs |
0.443 |
0 |
0 |
33.33 KB |
| master |
RunWaf(args=NestedMap (100)) |
net472 |
188μs |
42.7ns |
165ns |
5.33 |
0.374 |
0 |
33.67 KB |
| master |
RunWafTwice(args=NestedMap (100)) |
net6.0 |
109μs |
22.8ns |
88.3ns |
0.436 |
0 |
0 |
33.3 KB |
| master |
RunWafTwice(args=NestedMap (100)) |
netcoreapp3.1 |
139μs |
659ns |
2.55μs |
0.41 |
0 |
0 |
33.86 KB |
| master |
RunWafTwice(args=NestedMap (100)) |
net472 |
199μs |
829ns |
3.21μs |
5.41 |
0.386 |
0 |
34.22 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 |
172μs |
128ns |
496ns |
0.498 |
0 |
0 |
39.1 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 |
201μs |
932ns |
3.84μs |
0.487 |
0 |
0 |
39.63 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 |
256μs |
851ns |
3.29μs |
6.35 |
0.508 |
0 |
40.23 KB |
| master |
RunWaf(args=NestedMap (20)) |
net6.0 |
112μs |
45.4ns |
176ns |
0.449 |
0 |
0 |
32.18 KB |
| master |
RunWaf(args=NestedMap (20)) |
netcoreapp3.1 |
131μs |
685ns |
3.07μs |
0.442 |
0 |
0 |
32.3 KB |
| master |
RunWaf(args=NestedMap (20)) |
net472 |
190μs |
813ns |
3.15μs |
5.15 |
0.368 |
0 |
32.63 KB |
| master |
RunWafTwice(args=NestedMap (20)) |
net6.0 |
113μs |
423ns |
1.64μs |
0.458 |
0 |
0 |
32.72 KB |
| master |
RunWafTwice(args=NestedMap (20)) |
netcoreapp3.1 |
138μs |
725ns |
3.91μs |
0.396 |
0 |
0 |
32.82 KB |
| master |
RunWafTwice(args=NestedMap (20)) |
net472 |
197μs |
902ns |
3.49μs |
5.27 |
0.383 |
0 |
33.19 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 |
166μs |
146ns |
564ns |
0.498 |
0 |
0 |
38.53 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 |
200μs |
171ns |
661ns |
0.504 |
0 |
0 |
38.6 KB |
| master |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 |
261μs |
581ns |
2.25μs |
6.19 |
0.505 |
0 |
39.2 KB |
| #5085 |
RunWaf(args=NestedMap (10)) |
net6.0 |
52.7μs |
293ns |
1.85μs |
0.229 |
0 |
0 |
16.06 KB |
| #5085 |
RunWaf(args=NestedMap (10)) |
netcoreapp3.1 |
70.9μs |
377ns |
2μs |
0.195 |
0 |
0 |
16.06 KB |
| #5085 |
RunWaf(args=NestedMap (10)) |
net472 |
95.2μs |
84.3ns |
327ns |
2.56 |
0.0947 |
0 |
16.14 KB |
| #5085 |
RunWafTwice(args=NestedMap (10)) |
net6.0 |
59.4μs |
343ns |
2.83μs |
0.217 |
0 |
0 |
16.6 KB |
| #5085 |
RunWafTwice(args=NestedMap (10)) |
netcoreapp3.1 |
72.2μs |
358ns |
1.6μs |
0.209 |
0 |
0 |
16.58 KB |
| #5085 |
RunWafTwice(args=NestedMap (10)) |
net472 |
109μs |
62.3ns |
233ns |
2.61 |
0.104 |
0 |
16.69 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 |
116μs |
196ns |
760ns |
0.281 |
0 |
0 |
22.41 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 |
131μs |
464ns |
1.8μs |
0.322 |
0 |
0 |
22.36 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 |
162μs |
143ns |
552ns |
3.55 |
0.161 |
0 |
22.7 KB |
| #5085 |
RunWaf(args=NestedMap (100)) |
net6.0 |
100μs |
224ns |
869ns |
0.45 |
0 |
0 |
32.76 KB |
| #5085 |
RunWaf(args=NestedMap (100)) |
netcoreapp3.1 |
132μs |
727ns |
4.11μs |
0.416 |
0 |
0 |
33.33 KB |
| #5085 |
RunWaf(args=NestedMap (100)) |
net472 |
191μs |
778ns |
3.01μs |
5.3 |
0.372 |
0 |
33.67 KB |
| #5085 |
RunWafTwice(args=NestedMap (100)) |
net6.0 |
108μs |
68.8ns |
266ns |
0.435 |
0 |
0 |
33.3 KB |
| #5085 |
RunWafTwice(args=NestedMap (100)) |
netcoreapp3.1 |
139μs |
764ns |
4.65μs |
0.401 |
0 |
0 |
33.86 KB |
| #5085 |
RunWafTwice(args=NestedMap (100)) |
net472 |
202μs |
727ns |
2.82μs |
5.41 |
0.394 |
0 |
34.23 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [23]) |
net6.0 |
160μs |
93.5ns |
350ns |
0.515 |
0 |
0 |
39.1 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [23]) |
netcoreapp3.1 |
209μs |
940ns |
3.64μs |
0.49 |
0 |
0 |
39.63 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [23]) |
net472 |
257μs |
159ns |
594ns |
6.3 |
0.514 |
0 |
40.23 KB |
| #5085 |
RunWaf(args=NestedMap (20)) |
net6.0 |
110μs |
36.9ns |
143ns |
0.453 |
0 |
0 |
32.18 KB |
| #5085 |
RunWaf(args=NestedMap (20)) |
netcoreapp3.1 |
132μs |
675ns |
3.09μs |
0.453 |
0 |
0 |
32.3 KB |
| #5085 |
RunWaf(args=NestedMap (20)) |
net472 |
185μs |
125ns |
485ns |
5.12 |
0.372 |
0 |
32.63 KB |
| #5085 |
RunWafTwice(args=NestedMap (20)) |
net6.0 |
104μs |
189ns |
708ns |
0.463 |
0 |
0 |
32.72 KB |
| #5085 |
RunWafTwice(args=NestedMap (20)) |
netcoreapp3.1 |
139μs |
773ns |
4.64μs |
0.391 |
0 |
0 |
32.82 KB |
| #5085 |
RunWafTwice(args=NestedMap (20)) |
net472 |
201μs |
61.6ns |
213ns |
5.2 |
0.385 |
0 |
33.19 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net6.0 |
169μs |
43ns |
166ns |
0.48 |
0 |
0 |
38.53 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
netcoreapp3.1 |
203μs |
1.09μs |
5.54μs |
0.492 |
0 |
0 |
38.6 KB |
| #5085 |
RunWafWithAttack(args=Neste(...)tack) [22]) |
net472 |
256μs |
291ns |
1.09μs |
6.12 |
0.51 |
0 |
39.2 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 |
173μs |
212ns |
823ns |
0.26 |
0 |
0 |
18.25 KB |
| master |
SendRequest |
netcoreapp3.1 |
192μs |
293ns |
1.14μs |
0.193 |
0 |
0 |
20.41 KB |
| master |
SendRequest |
net472 |
0.000268ns |
0.000221ns |
0.000798ns |
0 |
0 |
0 |
0 b |
| #5085 |
SendRequest |
net6.0 |
172μs |
183ns |
707ns |
0.171 |
0 |
0 |
18.25 KB |
| #5085 |
SendRequest |
netcoreapp3.1 |
195μs |
273ns |
1.06μs |
0.194 |
0 |
0 |
20.41 KB |
| #5085 |
SendRequest |
net472 |
0.000544ns |
0.000282ns |
0.00109ns |
0 |
0 |
0 |
0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: Fewer allocations :tada:
Fewer allocations :tada: in #5085
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 |
41.97 KB |
41.75 KB |
-224 B |
-0.53% |
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
WriteAndFlushEnrichedTraces |
net6.0 |
569μs |
188ns |
729ns |
0.543 |
0 |
0 |
41.97 KB |
| master |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
656μs |
381ns |
1.43μs |
0.321 |
0 |
0 |
41.71 KB |
| master |
WriteAndFlushEnrichedTraces |
net472 |
829μs |
3.31μs |
12.8μs |
8.45 |
2.53 |
0.422 |
53.24 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
net6.0 |
568μs |
1.56μs |
6.05μs |
0.568 |
0 |
0 |
41.75 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
netcoreapp3.1 |
670μs |
1.23μs |
4.75μs |
0.329 |
0 |
0 |
41.87 KB |
| #5085 |
WriteAndFlushEnrichedTraces |
net472 |
870μs |
4.5μs |
23μs |
8.19 |
2.59 |
0.431 |
53.25 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.1μs |
0.261ns |
0.903ns |
0.011 |
0 |
0 |
768 B |
| master |
ExecuteNonQuery |
netcoreapp3.1 |
1.49μs |
1.16ns |
4.34ns |
0.0104 |
0 |
0 |
768 B |
| master |
ExecuteNonQuery |
net472 |
1.79μs |
0.497ns |
1.93ns |
0.116 |
0 |
0 |
730 B |
| #5085 |
ExecuteNonQuery |
net6.0 |
1.12μs |
0.549ns |
2.06ns |
0.0107 |
0 |
0 |
768 B |
| #5085 |
ExecuteNonQuery |
netcoreapp3.1 |
1.49μs |
0.784ns |
2.83ns |
0.00999 |
0 |
0 |
768 B |
| #5085 |
ExecuteNonQuery |
net472 |
1.76μs |
0.836ns |
3.24ns |
0.115 |
0 |
0 |
730 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.26μs |
0.721ns |
2.7ns |
0.0133 |
0 |
0 |
936 B |
| master |
CallElasticsearch |
netcoreapp3.1 |
1.62μs |
2.77ns |
10.4ns |
0.012 |
0 |
0 |
936 B |
| master |
CallElasticsearch |
net472 |
2.51μs |
1.67ns |
6.45ns |
0.152 |
0 |
0 |
955 B |
| master |
CallElasticsearchAsync |
net6.0 |
1.25μs |
0.336ns |
1.3ns |
0.013 |
0 |
0 |
912 B |
| master |
CallElasticsearchAsync |
netcoreapp3.1 |
1.63μs |
1.32ns |
4.93ns |
0.0131 |
0 |
0 |
984 B |
| master |
CallElasticsearchAsync |
net472 |
2.6μs |
0.92ns |
3.56ns |
0.16 |
0 |
0 |
1.01 KB |
| #5085 |
CallElasticsearch |
net6.0 |
1.19μs |
0.787ns |
3.05ns |
0.013 |
0 |
0 |
936 B |
| #5085 |
CallElasticsearch |
netcoreapp3.1 |
1.47μs |
2.17ns |
8.41ns |
0.0125 |
0 |
0 |
936 B |
| #5085 |
CallElasticsearch |
net472 |
2.5μs |
0.963ns |
3.73ns |
0.151 |
0 |
0 |
955 B |
| #5085 |
CallElasticsearchAsync |
net6.0 |
1.29μs |
0.598ns |
2.32ns |
0.0129 |
0 |
0 |
912 B |
| #5085 |
CallElasticsearchAsync |
netcoreapp3.1 |
1.59μs |
0.56ns |
2.1ns |
0.013 |
0 |
0 |
984 B |
| #5085 |
CallElasticsearchAsync |
net472 |
2.69μs |
1.36ns |
5.26ns |
0.159 |
0 |
0 |
1.01 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.31μs |
1.65ns |
6.38ns |
0.0124 |
0 |
0 |
912 B |
| master |
ExecuteAsync |
netcoreapp3.1 |
1.63μs |
1.06ns |
3.96ns |
0.0123 |
0 |
0 |
912 B |
| master |
ExecuteAsync |
net472 |
1.88μs |
1.59ns |
6.17ns |
0.139 |
0 |
0 |
875 B |
| #5085 |
ExecuteAsync |
net6.0 |
1.27μs |
0.597ns |
2.31ns |
0.0127 |
0 |
0 |
912 B |
| #5085 |
ExecuteAsync |
netcoreapp3.1 |
1.55μs |
1.79ns |
6.94ns |
0.0124 |
0 |
0 |
912 B |
| #5085 |
ExecuteAsync |
net472 |
1.73μs |
0.933ns |
3.36ns |
0.139 |
0 |
0 |
875 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 |
4.04μs |
1.58ns |
6.1ns |
0.0282 |
0 |
0 |
2.1 KB |
| master |
SendAsync |
netcoreapp3.1 |
4.98μs |
2.54ns |
9.84ns |
0.0351 |
0 |
0 |
2.63 KB |
| master |
SendAsync |
net472 |
7.81μs |
4.55ns |
17.6ns |
0.522 |
0 |
0 |
3.31 KB |
| #5085 |
SendAsync |
net6.0 |
4.04μs |
2.03ns |
7.88ns |
0.0287 |
0 |
0 |
2.1 KB |
| #5085 |
SendAsync |
netcoreapp3.1 |
4.97μs |
1.74ns |
6.76ns |
0.0348 |
0 |
0 |
2.63 KB |
| #5085 |
SendAsync |
net472 |
7.78μs |
3.57ns |
13.8ns |
0.523 |
0 |
0 |
3.31 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster :tada: More allocations :warning:
Faster :tada: in #5085
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 |
1.167 |
60,300.00 |
51,650.00 |
multimodal |
More allocations :warning: in #5085
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 |
59.26 KB |
61.86 KB |
2.61 KB |
4.40% |
Fewer allocations :tada: in #5085
| Benchmark |
Base Allocated |
Diff Allocated |
Change |
Change % |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 |
204.36 KB |
202.74 KB |
-1.62 KB |
-0.79% |
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StringConcatBenchmark |
net6.0 |
60.3μs |
798ns |
7.86μs |
0 |
0 |
0 |
43.44 KB |
| master |
StringConcatBenchmark |
netcoreapp3.1 |
54μs |
225ns |
813ns |
0 |
0 |
0 |
42.64 KB |
| master |
StringConcatBenchmark |
net472 |
38.8μs |
183ns |
708ns |
0 |
0 |
0 |
59.26 KB |
| master |
StringConcatAspectBenchmark |
net6.0 |
306μs |
6.43μs |
60μs |
0 |
0 |
0 |
204.36 KB |
| master |
StringConcatAspectBenchmark |
netcoreapp3.1 |
298μs |
5.06μs |
47.2μs |
0 |
0 |
0 |
201.57 KB |
| master |
StringConcatAspectBenchmark |
net472 |
254μs |
5.32μs |
51.6μs |
0 |
0 |
0 |
221.18 KB |
| #5085 |
StringConcatBenchmark |
net6.0 |
51.7μs |
207ns |
993ns |
0 |
0 |
0 |
43.44 KB |
| #5085 |
StringConcatBenchmark |
netcoreapp3.1 |
63.2μs |
1.01μs |
10μs |
0 |
0 |
0 |
42.64 KB |
| #5085 |
StringConcatBenchmark |
net472 |
38.1μs |
108ns |
375ns |
0 |
0 |
0 |
61.86 KB |
| #5085 |
StringConcatAspectBenchmark |
net6.0 |
327μs |
8.44μs |
84.4μs |
0 |
0 |
0 |
202.74 KB |
| #5085 |
StringConcatAspectBenchmark |
netcoreapp3.1 |
334μs |
9.86μs |
96.6μs |
0 |
0 |
0 |
202.33 KB |
| #5085 |
StringConcatAspectBenchmark |
net472 |
263μs |
6.22μs |
59.7μ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.4μs |
0.885ns |
3.43ns |
0.0217 |
0 |
0 |
1.57 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
2.21μs |
1.42ns |
5.3ns |
0.0211 |
0 |
0 |
1.57 KB |
| master |
EnrichedLog |
net472 |
2.62μs |
1.31ns |
4.9ns |
0.238 |
0 |
0 |
1.5 KB |
| #5085 |
EnrichedLog |
net6.0 |
1.46μs |
0.645ns |
2.5ns |
0.0219 |
0 |
0 |
1.57 KB |
| #5085 |
EnrichedLog |
netcoreapp3.1 |
2.16μs |
2.26ns |
8.77ns |
0.0216 |
0 |
0 |
1.57 KB |
| #5085 |
EnrichedLog |
net472 |
2.66μs |
2.88ns |
11.2ns |
0.237 |
0 |
0 |
1.5 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 |
103ns |
398ns |
0.0562 |
0 |
0 |
4.21 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
119μs |
105ns |
393ns |
0 |
0 |
0 |
4.21 KB |
| master |
EnrichedLog |
net472 |
147μs |
53.8ns |
201ns |
0.663 |
0.221 |
0 |
4.39 KB |
| #5085 |
EnrichedLog |
net6.0 |
113μs |
74.9ns |
290ns |
0.0567 |
0 |
0 |
4.21 KB |
| #5085 |
EnrichedLog |
netcoreapp3.1 |
118μs |
90.4ns |
338ns |
0 |
0 |
0 |
4.21 KB |
| #5085 |
EnrichedLog |
net472 |
149μs |
177ns |
687ns |
0.668 |
0.223 |
0 |
4.39 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 |
3.06μs |
1.01ns |
3.91ns |
0.0292 |
0 |
0 |
2.13 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
4.12μs |
2.26ns |
8.76ns |
0.0291 |
0 |
0 |
2.13 KB |
| master |
EnrichedLog |
net472 |
4.76μs |
1.82ns |
7.06ns |
0.307 |
0 |
0 |
1.95 KB |
| #5085 |
EnrichedLog |
net6.0 |
3.03μs |
1.04ns |
4.03ns |
0.0303 |
0 |
0 |
2.13 KB |
| #5085 |
EnrichedLog |
netcoreapp3.1 |
4.19μs |
2.95ns |
11.4ns |
0.0291 |
0 |
0 |
2.13 KB |
| #5085 |
EnrichedLog |
net472 |
4.84μs |
2.59ns |
10ns |
0.308 |
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.33μs |
0.495ns |
1.92ns |
0.0153 |
0 |
0 |
1.1 KB |
| master |
SendReceive |
netcoreapp3.1 |
1.81μs |
0.859ns |
3.33ns |
0.0145 |
0 |
0 |
1.1 KB |
| master |
SendReceive |
net472 |
2.1μs |
1.93ns |
7.49ns |
0.177 |
0 |
0 |
1.12 KB |
| #5085 |
SendReceive |
net6.0 |
1.38μs |
1.23ns |
4.62ns |
0.0153 |
0 |
0 |
1.1 KB |
| #5085 |
SendReceive |
netcoreapp3.1 |
1.75μs |
0.954ns |
3.57ns |
0.0149 |
0 |
0 |
1.1 KB |
| #5085 |
SendReceive |
net472 |
2.13μs |
3.94ns |
15.3ns |
0.177 |
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.74μs |
0.871ns |
3.26ns |
0.0218 |
0 |
0 |
1.53 KB |
| master |
EnrichedLog |
netcoreapp3.1 |
3.82μs |
8.25ns |
32ns |
0.0211 |
0 |
0 |
1.58 KB |
| master |
EnrichedLog |
net472 |
4.27μs |
1.66ns |
6.44ns |
0.312 |
0 |
0 |
1.97 KB |
| #5085 |
EnrichedLog |
net6.0 |
2.76μs |
1.11ns |
4.14ns |
0.0207 |
0 |
0 |
1.53 KB |
| #5085 |
EnrichedLog |
netcoreapp3.1 |
3.92μs |
1.91ns |
7.41ns |
0.0216 |
0 |
0 |
1.58 KB |
| #5085 |
EnrichedLog |
net472 |
4.2μs |
1.06ns |
3.98ns |
0.31 |
0 |
0 |
1.97 KB |
Benchmarks.Trace.SpanBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #5085
| Benchmark |
diff/base |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 |
1.121 |
882.89 |
989.60 |
|
Faster :tada: in #5085
| Benchmark |
base/diff |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑net6.0 |
1.157 |
540.43 |
467.03 |
|
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
StartFinishSpan |
net6.0 |
540ns |
0.149ns |
0.556ns |
0.00748 |
0 |
0 |
536 B |
| master |
StartFinishSpan |
netcoreapp3.1 |
723ns |
1.82ns |
7.03ns |
0.00704 |
0 |
0 |
536 B |
| master |
StartFinishSpan |
net472 |
695ns |
0.487ns |
1.88ns |
0.0853 |
0 |
0 |
538 B |
| master |
StartFinishScope |
net6.0 |
632ns |
0.144ns |
0.539ns |
0.00925 |
0 |
0 |
656 B |
| master |
StartFinishScope |
netcoreapp3.1 |
849ns |
0.533ns |
2.06ns |
0.00888 |
0 |
0 |
656 B |
| master |
StartFinishScope |
net472 |
883ns |
0.908ns |
3.52ns |
0.098 |
0 |
0 |
618 B |
| #5085 |
StartFinishSpan |
net6.0 |
467ns |
0.196ns |
0.76ns |
0.00743 |
0 |
0 |
536 B |
| #5085 |
StartFinishSpan |
netcoreapp3.1 |
681ns |
0.372ns |
1.44ns |
0.00734 |
0 |
0 |
536 B |
| #5085 |
StartFinishSpan |
net472 |
748ns |
0.651ns |
2.52ns |
0.0853 |
0 |
0 |
538 B |
| #5085 |
StartFinishScope |
net6.0 |
600ns |
0.121ns |
0.437ns |
0.00911 |
0 |
0 |
656 B |
| #5085 |
StartFinishScope |
netcoreapp3.1 |
887ns |
2.03ns |
7.88ns |
0.00871 |
0 |
0 |
656 B |
| #5085 |
StartFinishScope |
net472 |
988ns |
0.7ns |
2.71ns |
0.0981 |
0 |
0 |
618 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower :warning: Same allocations :heavy_check_mark:
Slower :warning: in #5085
| Benchmark |
diff/base |
Base Median (ns) |
Diff Median (ns) |
Modality |
| Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑netcoreapp3.1 |
1.228 |
849.57 |
1,043.38 |
|
Raw results
| Branch |
Method |
Toolchain |
Mean |
StdError |
StdDev |
Gen 0 |
Gen 1 |
Gen 2 |
Allocated |
| master |
RunOnMethodBegin |
net6.0 |
703ns |
0.185ns |
0.693ns |
0.00921 |
0 |
0 |
656 B |
| master |
RunOnMethodBegin |
netcoreapp3.1 |
850ns |
0.382ns |
1.48ns |
0.00898 |
0 |
0 |
656 B |
| master |
RunOnMethodBegin |
net472 |
1.08μs |
0.438ns |
1.7ns |
0.0978 |
0 |
0 |
618 B |
| #5085 |
RunOnMethodBegin |
net6.0 |
692ns |
0.169ns |
0.61ns |
0.00907 |
0 |
0 |
656 B |
| #5085 |
RunOnMethodBegin |
netcoreapp3.1 |
1.04μs |
1.45ns |
5.24ns |
0.00891 |
0 |
0 |
656 B |
| #5085 |
RunOnMethodBegin |
net472 |
1.18μs |
1.43ns |
5.55ns |
0.0981 |
0 |
0 |
618 B |