Closed
Description
I tried to do a few tests in this way(using console tools test different version), but each time I got a different ranking.
DateTime result = instance.CreateTime;
First:
// * Summary *
BenchmarkDotNet=v0.11.5, OS=Windows 10.0.17134.765 (1803/April2018Update/Redstone4)
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
Frequency=2531254 Hz, Resolution=395.0611 ns, Timer=TSC
.NET Core SDK=2.2.204
[Host] : .NET Core 2.0.9 (CoreCLR 4.6.26614.01, CoreFX 4.6.26614.01), 64bit RyuJIT
Job-RRJNSC : .NET Core 2.0.9 (CoreCLR 4.6.26614.01, CoreFX 4.6.26614.01), 64bit RyuJIT
Job-MDBOLW : .NET Core 2.1.11 (CoreCLR 4.6.27617.04, CoreFX 4.6.27617.02), 64bit RyuJIT
Job-XBBZHA : .NET Core 2.2.5 (CoreCLR 4.6.27617.05, CoreFX 4.6.27618.01), 64bit RyuJIT
Runtime=Core Categories=Read,Time
Method | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Rank | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Origin | netcoreapp2.0 | 0.0008 ns | 0.0028 ns | 0.0026 ns | 0.0000 ns | 0.0000 ns | 0.0100 ns | ? | ? | 1 | - | - | - | - |
Origin | netcoreapp2.1 | 0.0030 ns | 0.0095 ns | 0.0089 ns | 0.0000 ns | 0.0000 ns | 0.0337 ns | ? | ? | 1 | - | - | - | - |
Origin | netcoreapp2.2 | 0.3825 ns | 0.0079 ns | 0.0070 ns | 0.3833 ns | 0.3703 ns | 0.3924 ns | ? | ? | 2 | - | - | - | - |
// * Warnings *
ZeroMeasurement
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.0 -> The method duration is indistinguishable from the empty method duration
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.1 -> The method duration is indistinguishable from the empty method duration
// * Hints *
Outliers
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.2 -> 1 outlier was removed (2.45 ns)
Second:
// * Summary *
BenchmarkDotNet=v0.11.5, OS=Windows 10.0.17134.765 (1803/April2018Update/Redstone4)
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
Frequency=2531254 Hz, Resolution=395.0611 ns, Timer=TSC
.NET Core SDK=2.2.204
[Host] : .NET Core 2.0.9 (CoreCLR 4.6.26614.01, CoreFX 4.6.26614.01), 64bit RyuJIT
Job-SDDWOR : .NET Core 2.2.5 (CoreCLR 4.6.27617.05, CoreFX 4.6.27618.01), 64bit RyuJIT
Job-OXUJBP : .NET Core 2.0.9 (CoreCLR 4.6.26614.01, CoreFX 4.6.26614.01), 64bit RyuJIT
Job-LEIQTS : .NET Core 2.1.11 (CoreCLR 4.6.27617.04, CoreFX 4.6.27617.02), 64bit RyuJIT
Runtime=Core Categories=Read,Time
Method | Toolchain | Mean | Error | StdDev | Min | Max | Median | Ratio | RatioSD | Rank | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Origin | netcoreapp2.2 | 0.0150 ns | 0.0066 ns | 0.0194 ns | 0.0000 ns | 0.1049 ns | 0.0127 ns | ? | ? | 1 | - | - | - | - |
Origin | netcoreapp2.0 | 0.2881 ns | 0.0439 ns | 0.0856 ns | 0.0000 ns | 0.3514 ns | 0.3128 ns | ? | ? | 2 | - | - | - | - |
Origin | netcoreapp2.1 | 0.3031 ns | 0.0188 ns | 0.0167 ns | 0.2814 ns | 0.3426 ns | 0.2975 ns | ? | ? | 3 | - | - | - | - |
// * Warnings *
MultimodalDistribution
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.2 -> It seems that the distribution is bimodal (mValue = 3.35)
ZeroMeasurement
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.2 -> The method duration is indistinguishable from the empty method duration
// * Hints *
Outliers
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.0 -> 4 outliers were removed, 9 outliers were detected (1.98 ns..2.21 ns, 2.36 ns..2.40 ns)
DynamicCallFieldTest.Origin: Runtime=Core, Toolchain=netcoreapp2.1 -> 1 outlier was removed (2.47 ns)
Is there something wrong with this result?