1.2.0
Target net8.0
- update
Directory.build.propsto targetnet8.0 - update of
BenchmarkDotNetto latest version
Benchmarks
Did a quick check if there is a need to explicitly build and target higher versions of .NET Core
BenchmarkDotNet v0.13.12, macOS Sonoma 14.4 (23E214) [Darwin 23.4.0]
Apple M2, 1 CPU, 8 logical and 8 physical cores
.NET SDK 8.0.203
[Host] : .NET 7.0.11 (7.0.1123.42427), Arm64 RyuJIT AdvSIMD
.NET 6.0 : .NET 6.0.12 (6.0.1222.56807), Arm64 RyuJIT AdvSIMD
.NET 7.0 : .NET 7.0.11 (7.0.1123.42427), Arm64 RyuJIT AdvSIMD
.NET 8.0 : .NET 8.0.3 (8.0.324.11423), Arm64 RyuJIT AdvSIMD
| Method | Job | Runtime | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
|---------- |--------- |--------- |----------:|---------:|---------:|------:|--------:|-------:|-------:|-------:|----------:|------------:|
| GetStatic | .NET 6.0 | .NET 6.0 | 25.46 ns | 0.518 ns | 0.655 ns | 1.00 | 0.00 | 0.0306 | - | - | 64 B | 1.00 |
| GetStatic | .NET 7.0 | .NET 7.0 | 23.16 ns | 0.235 ns | 0.196 ns | 0.91 | 0.02 | 0.0076 | - | - | 64 B | 1.00 |
| GetStatic | .NET 8.0 | .NET 8.0 | 21.65 ns | 0.153 ns | 0.128 ns | 0.85 | 0.02 | 0.0076 | - | - | 64 B | 1.00 |
| | | | | | | | | | | | | |
| GetNew | .NET 6.0 | .NET 6.0 | 378.20 ns | 7.485 ns | 7.001 ns | 1.00 | 0.00 | 0.6771 | - | - | 1416 B | 1.00 |
| GetNew | .NET 7.0 | .NET 7.0 | 274.74 ns | 5.478 ns | 6.928 ns | 0.73 | 0.02 | 0.1693 | 0.0005 | - | 1416 B | 1.00 |
| GetNew | .NET 8.0 | .NET 8.0 | 277.90 ns | 5.571 ns | 7.809 ns | 0.73 | 0.03 | 0.1693 | 0.0005 | 0.0005 | 1416 B | 1.00 |
GetStatic- create aQueryonce, builds in into a string and shares the same value across all executions.GetNew- create a newQueryfor each of the executions.
Benchmarks code can be found in the repository, so you can check by yourself.