Skip to content
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

Synchronize access to System.ComponentModel.DataAnnotations.Validator #2428

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|----------------------- |----------:|---------:|---------:|------:|--------:|-------:|----------:|------------:|
| NoOpAsync | 67.10 ns | 4.915 ns | 6.890 ns | 1.00 | 0.00 | 0.0120 | 304 B | 1.00 |
| NullResiliencePipeline | 363.47 ns | 3.895 ns | 5.830 ns | 5.45 | 0.56 | 0.0148 | 376 B | 1.24 |
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|----------------------- |----------:|---------:|----------:|------:|--------:|-------:|----------:|------------:|
| NoOpAsync | 84.05 ns | 4.660 ns | 6.830 ns | 1.01 | 0.11 | 0.0242 | 304 B | 1.00 |
| NullResiliencePipeline | 241.69 ns | 8.178 ns | 12.240 ns | 2.89 | 0.27 | 0.0296 | 376 B | 1.24 |
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|------------------------- |---------:|--------:|--------:|------:|--------:|-------:|----------:|------------:|
| ExecuteCircuitBreaker_V7 | 228.6 ns | 2.19 ns | 3.21 ns | 1.00 | 0.00 | 0.0200 | 504 B | 1.00 |
| ExecuteCircuitBreaker_V8 | 411.8 ns | 0.41 ns | 0.60 ns | 1.80 | 0.03 | - | - | 0.00 |
| ExecuteCircuitBreaker_V7 | 207.1 ns | 3.68 ns | 5.50 ns | 1.00 | 0.04 | 0.0370 | 464 B | 1.00 |
| ExecuteCircuitBreaker_V8 | 335.3 ns | 6.30 ns | 9.43 ns | 1.62 | 0.06 | - | - | 0.00 |
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|-------------------------- |------------:|---------:|---------:|------:|--------:|-------:|----------:|------------:|
| ExecuteAsync_Exception_V7 | 23,229.9 ns | 26.25 ns | 39.29 ns | 36.23 | 0.20 | 0.0916 | 2504 B | 13.04 |
| ExecuteAsync_Exception_V8 | 15,832.2 ns | 29.74 ns | 43.59 ns | 24.69 | 0.16 | 0.0610 | 1816 B | 9.46 |
| ExecuteAsync_Outcome_V8 | 641.2 ns | 2.07 ns | 2.97 ns | 1.00 | 0.00 | 0.0076 | 192 B | 1.00 |
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|-------------------------- |------------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
| ExecuteAsync_Exception_V7 | 14,295.0 ns | 418.44 ns | 600.11 ns | 27.37 | 1.33 | 0.1526 | 2056 B | 10.28 |
| ExecuteAsync_Exception_V8 | 9,178.8 ns | 114.83 ns | 171.88 ns | 17.57 | 0.55 | 0.0916 | 1312 B | 6.56 |
| ExecuteAsync_Outcome_V8 | 522.6 ns | 9.15 ns | 13.70 ns | 1.00 | 0.04 | 0.0153 | 200 B | 1.00 |
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Allocated |
|------------------------------- |---------:|---------:|---------:|----------:|
| CompositeComponent_ExecuteCore | 37.44 ns | 1.419 ns | 1.990 ns | - |
| CompositeComponent_ExecuteCore | 40.70 ns | 0.574 ns | 0.823 ns | - |
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Median | Gen0 | Allocated |
|------------ |------------:|----------:|----------:|------------:|-------:|----------:|
| Fallback_V7 | 78.52 ns | 3.274 ns | 4.901 ns | 76.04 ns | 0.0191 | 480 B |
| Fallback_V8 | 2,832.14 ns | 11.383 ns | 17.037 ns | 2,832.55 ns | 0.2251 | 5704 B |
| Method | Mean | Error | StdDev | Gen0 | Allocated |
|------------ |------------:|----------:|----------:|-------:|----------:|
| Fallback_V7 | 63.30 ns | 1.058 ns | 1.583 ns | 0.0305 | 384 B |
| Fallback_V8 | 2,689.59 ns | 34.384 ns | 50.400 ns | 0.4082 | 5136 B |
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|------------------------------------ |---------:|---------:|---------:|------:|--------:|-------:|----------:|------------:|
| DelegatingComponent_ExecuteCore_Jit | 23.53 ns | 0.026 ns | 0.037 ns | 1.00 | 0.00 | - | - | NA |
| DelegatingComponent_ExecuteCore_Aot | 33.34 ns | 0.837 ns | 1.228 ns | 1.42 | 0.05 | 0.0010 | 24 B | NA |
| DelegatingComponent_ExecuteCore_Jit | 29.17 ns | 0.613 ns | 0.899 ns | 1.00 | 0.04 | - | - | NA |
| DelegatingComponent_ExecuteCore_Aot | 43.48 ns | 0.584 ns | 0.873 ns | 1.49 | 0.05 | 0.0019 | 24 B | NA |
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Median | Ratio | RatioSD | Allocated | Alloc Ratio |
|------------------------ |---------:|---------:|---------:|---------:|------:|--------:|----------:|------------:|
| ExecuteAsync_Generic | 11.58 ns | 0.220 ns | 0.323 ns | 11.75 ns | 1.00 | 0.00 | - | NA |
| ExecuteAsync_NonGeneric | 19.25 ns | 0.026 ns | 0.038 ns | 19.25 ns | 1.66 | 0.05 | - | NA |
| Method | Mean | Error | StdDev | Ratio | RatioSD | Allocated | Alloc Ratio |
|------------------------ |---------:|---------:|---------:|------:|--------:|----------:|------------:|
| ExecuteAsync_Generic | 14.67 ns | 0.266 ns | 0.390 ns | 1.00 | 0.04 | - | NA |
| ExecuteAsync_NonGeneric | 24.89 ns | 0.581 ns | 0.870 ns | 1.70 | 0.07 | - | NA |
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|---------------------------- |----------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
| Hedging_Primary | 1.139 μs | 0.0058 μs | 0.0087 μs | 1.00 | 0.00 | - | 40 B | 1.00 |
| Hedging_Secondary | 1.789 μs | 0.0262 μs | 0.0393 μs | 1.57 | 0.04 | 0.0095 | 280 B | 7.00 |
| Hedging_Primary_AsyncWork | 6.274 μs | 0.4927 μs | 0.7374 μs | 5.51 | 0.65 | 0.0916 | 2325 B | 58.12 |
| Hedging_Secondary_AsyncWork | 12.488 μs | 0.7955 μs | 1.1907 μs | 10.97 | 1.07 | 0.0916 | 2606 B | 65.15 |
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|---------------------------- |-----------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
| Hedging_Primary | 684.6 ns | 25.04 ns | 36.71 ns | 1.00 | 0.07 | - | - | NA |
| Hedging_Secondary | 1,192.5 ns | 24.41 ns | 34.21 ns | 1.75 | 0.10 | 0.0191 | 240 B | NA |
| Hedging_Primary_AsyncWork | 5,504.3 ns | 313.47 ns | 449.58 ns | 8.06 | 0.77 | 0.1831 | 2338 B | NA |
| Hedging_Secondary_AsyncWork | 6,123.1 ns | 98.34 ns | 144.15 ns | 8.97 | 0.50 | 0.2060 | 2577 B | NA |
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|----------------------------------------------- |---------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
| ExecuteStrategyPipeline_Generic_V7 | 2.626 μs | 0.4061 μs | 0.5824 μs | 1.00 | 0.00 | 0.1106 | 2824 B | 1.00 |
| ExecuteStrategyPipeline_Generic_V8 | 1.853 μs | 0.0380 μs | 0.0556 μs | 0.74 | 0.18 | - | 40 B | 0.01 |
| ExecuteStrategyPipeline_GenericTelemetry_V8 | 2.647 μs | 0.0401 μs | 0.0600 μs | 1.06 | 0.22 | - | 40 B | 0.01 |
| ExecuteStrategyPipeline_NonGeneric_V8 | 2.059 μs | 0.0292 μs | 0.0418 μs | 0.82 | 0.18 | - | 40 B | 0.01 |
| ExecuteStrategyPipeline_NonGenericTelemetry_V8 | 2.934 μs | 0.0150 μs | 0.0220 μs | 1.17 | 0.26 | - | 40 B | 0.01 |
| Method | Mean | Error | StdDev | Median | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|----------------------------------------------- |---------:|----------:|----------:|---------:|------:|--------:|-------:|----------:|------------:|
| ExecuteStrategyPipeline_Generic_V7 | 1.180 μs | 0.0082 μs | 0.0122 μs | 1.179 μs | 1.00 | 0.01 | 0.2174 | 2744 B | 1.00 |
| ExecuteStrategyPipeline_Generic_V8 | 1.082 μs | 0.0128 μs | 0.0180 μs | 1.078 μs | 0.92 | 0.02 | 0.0019 | 40 B | 0.01 |
| ExecuteStrategyPipeline_GenericTelemetry_V8 | 1.566 μs | 0.0178 μs | 0.0255 μs | 1.552 μs | 1.33 | 0.03 | 0.0019 | 40 B | 0.01 |
| ExecuteStrategyPipeline_NonGeneric_V8 | 1.150 μs | 0.0052 μs | 0.0075 μs | 1.148 μs | 0.97 | 0.01 | 0.0019 | 40 B | 0.01 |
| ExecuteStrategyPipeline_NonGenericTelemetry_V8 | 1.672 μs | 0.0075 μs | 0.0110 μs | 1.672 μs | 1.42 | 0.02 | 0.0019 | 40 B | 0.01 |
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Components | Mean | Error | StdDev | Ratio | Gen0 | Allocated | Alloc Ratio |
|------------------- |----------- |------------:|---------:|----------:|------:|-------:|----------:|------------:|
| **ExecutePipeline_V7** | **1** | **90.13 ns** | **0.834 ns** | **1.249 ns** | **1.00** | **0.0120** | **304 B** | **1.00** |
| ExecutePipeline_V8 | 1 | 73.47 ns | 0.254 ns | 0.373 ns | 0.82 | - | - | 0.00 |
| | | | | | | | | |
| **ExecutePipeline_V7** | **2** | **233.68 ns** | **1.506 ns** | **2.208 ns** | **1.00** | **0.0219** | **552 B** | **1.00** |
| ExecutePipeline_V8 | 2 | 114.89 ns | 0.212 ns | 0.291 ns | 0.49 | - | - | 0.00 |
| | | | | | | | | |
| **ExecutePipeline_V7** | **5** | **778.86 ns** | **4.387 ns** | **6.566 ns** | **1.00** | **0.0515** | **1296 B** | **1.00** |
| ExecutePipeline_V8 | 5 | 374.64 ns | 0.452 ns | 0.619 ns | 0.48 | - | - | 0.00 |
| | | | | | | | | |
| **ExecutePipeline_V7** | **10** | **1,706.53 ns** | **8.257 ns** | **12.359 ns** | **1.00** | **0.0992** | **2536 B** | **1.00** |
| ExecutePipeline_V8 | 10 | 775.52 ns | 3.341 ns | 4.792 ns | 0.45 | - | - | 0.00 |
| Method | Components | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|------------------- |----------- |----------:|---------:|----------:|------:|--------:|-------:|----------:|------------:|
| **ExecutePipeline_V7** | **1** | **69.79 ns** | **0.588 ns** | **0.880 ns** | **1.00** | **0.02** | **0.0242** | **304 B** | **1.00** |
| ExecutePipeline_V8 | 1 | 69.75 ns | 0.290 ns | 0.406 ns | 1.00 | 0.01 | - | - | 0.00 |
| | | | | | | | | | |
| **ExecutePipeline_V7** | **2** | **151.17 ns** | **1.092 ns** | **1.566 ns** | **1.00** | **0.01** | **0.0439** | **552 B** | **1.00** |
| ExecutePipeline_V8 | 2 | 99.85 ns | 0.617 ns | 0.884 ns | 0.66 | 0.01 | - | - | 0.00 |
| | | | | | | | | | |
| **ExecutePipeline_V7** | **5** | **409.27 ns** | **3.791 ns** | **5.314 ns** | **1.00** | **0.02** | **0.1030** | **1296 B** | **1.00** |
| ExecutePipeline_V8 | 5 | 208.08 ns | 0.874 ns | 1.280 ns | 0.51 | 0.01 | - | - | 0.00 |
| | | | | | | | | | |
| **ExecutePipeline_V7** | **10** | **822.12 ns** | **6.901 ns** | **10.115 ns** | **1.00** | **0.02** | **0.2012** | **2536 B** | **1.00** |
| ExecutePipeline_V8 | 10 | 399.00 ns | 1.668 ns | 2.393 ns | 0.49 | 0.01 | - | - | 0.00 |
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
```

BenchmarkDotNet v0.13.11, Windows 11 (10.0.22631.2861/23H2/2023Update/SunValley3) (Hyper-V)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
BenchmarkDotNet v0.14.0, Windows 11 (10.0.22631.4602/23H2/2023Update/SunValley3)
12th Gen Intel Core i7-1280P, 1 CPU, 20 logical and 14 physical cores
.NET SDK 9.0.101
[Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=MediumRun Toolchain=InProcessEmitToolchain IterationCount=15
LaunchCount=2 WarmupCount=10

```
| Method | Mean | Error | StdDev | Ratio | RatioSD | Allocated | Alloc Ratio |
|--------------------------- |----------:|----------:|----------:|------:|--------:|----------:|------------:|
| Predicate_SwitchExpression | 9.628 ns | 0.0755 ns | 0.1082 ns | 1.00 | 0.00 | - | NA |
| Predicate_PredicateBuilder | 27.885 ns | 0.1972 ns | 0.2890 ns | 2.90 | 0.04 | - | NA |
| Method | Mean | Error | StdDev | Median | Ratio | RatioSD | Allocated | Alloc Ratio |
|--------------------------- |---------:|---------:|---------:|---------:|------:|--------:|----------:|------------:|
| Predicate_SwitchExpression | 11.82 ns | 0.234 ns | 0.343 ns | 12.08 ns | 1.00 | 0.04 | - | NA |
| Predicate_PredicateBuilder | 21.52 ns | 0.077 ns | 0.108 ns | 21.51 ns | 1.82 | 0.05 | - | NA |
Loading
Loading