-
Notifications
You must be signed in to change notification settings - Fork 0
TrustMiniJIT
71ac725f001d581a5a045ab4a33e1e1eaf6f0c36
a variant of TrustJIT.
every methods only have 1 parameter now.
BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.202
[Host] : .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Median |
|---|---|---|---|---|
| Padding | 0.0024 ns | 0.0025 ns | 0.0023 ns | 0.0025 ns |
| Padding2 | 0.0009 ns | 0.0037 ns | 0.0029 ns | 0.0000 ns |
| Instanced | 32.0148 ns | 0.0280 ns | 0.0262 ns | 32.0108 ns |
| Static | 31.9663 ns | 0.0466 ns | 0.0436 ns | 31.9544 ns |
| Aggressive | 31.8556 ns | 0.0271 ns | 0.0254 ns | 31.8541 ns |
| Simulate | 0.6290 ns | 0.0088 ns | 0.0083 ns | 0.6225 ns |
| SimulateAggressive | 0.6266 ns | 0.0060 ns | 0.0056 ns | 0.6236 ns |
| SimulateStatic | 0.3141 ns | 0.0055 ns | 0.0052 ns | 0.3112 ns |
| SimulateNo | 1.8713 ns | 0.0065 ns | 0.0061 ns | 1.8711 ns |
// * Detailed results *
TrustMiniJIT.Padding: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.002 ns, StdErr = 0.001 ns (24.51%), N = 15, StdDev = 0.002 ns
Min = 0.000 ns, Q1 = 0.000 ns, Median = 0.002 ns, Q3 = 0.005 ns, Max = 0.006 ns
IQR = 0.005 ns, LowerFence = -0.007 ns, UpperFence = 0.011 ns
ConfidenceInterval = [-0.000 ns; 0.005 ns] (CI 99.9%), Margin = 0.002 ns (101.47% of Mean)
Skewness = 0.05, Kurtosis = 1.05, MValue = 3.71
-------------------- Histogram --------------------
[-0.000 ns ; 0.002 ns) | @@@@@@@
[ 0.002 ns ; 0.004 ns) | @
[ 0.004 ns ; 0.006 ns) | @@@@@@@
TrustMiniJIT.Padding2: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.001 ns, StdErr = 0.001 ns (91.87%), N = 12, StdDev = 0.003 ns
Min = 0.000 ns, Q1 = 0.000 ns, Median = 0.000 ns, Q3 = 0.000 ns, Max = 0.010 ns
IQR = 0.000 ns, LowerFence = 0.000 ns, UpperFence = 0.000 ns
ConfidenceInterval = [-0.003 ns; 0.005 ns] (CI 99.9%), Margin = 0.004 ns (407.62% of Mean)
Skewness = 2.61, Kurtosis = 8.36, MValue = 2
-------------------- Histogram --------------------
[-0.001 ns ; 0.002 ns) | @@@@@@@@@@@
[ 0.002 ns ; 0.006 ns) |
[ 0.006 ns ; 0.008 ns) |
[ 0.008 ns ; 0.012 ns) | @
TrustMiniJIT.Instanced: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 32.015 ns, StdErr = 0.007 ns (0.02%), N = 15, StdDev = 0.026 ns
Min = 31.987 ns, Q1 = 31.993 ns, Median = 32.011 ns, Q3 = 32.034 ns, Max = 32.061 ns
IQR = 0.042 ns, LowerFence = 31.930 ns, UpperFence = 32.097 ns
ConfidenceInterval = [31.987 ns; 32.043 ns] (CI 99.9%), Margin = 0.028 ns (0.09% of Mean)
Skewness = 0.54, Kurtosis = 1.63, MValue = 2
-------------------- Histogram --------------------
[31.973 ns ; 32.075 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.Static: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 31.966 ns, StdErr = 0.011 ns (0.04%), N = 15, StdDev = 0.044 ns
Min = 31.905 ns, Q1 = 31.931 ns, Median = 31.954 ns, Q3 = 31.999 ns, Max = 32.041 ns
IQR = 0.068 ns, LowerFence = 31.829 ns, UpperFence = 32.101 ns
ConfidenceInterval = [31.920 ns; 32.013 ns] (CI 99.9%), Margin = 0.047 ns (0.15% of Mean)
Skewness = 0.16, Kurtosis = 1.54, MValue = 2
-------------------- Histogram --------------------
[31.882 ns ; 32.064 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.Aggressive: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 31.856 ns, StdErr = 0.007 ns (0.02%), N = 15, StdDev = 0.025 ns
Min = 31.819 ns, Q1 = 31.835 ns, Median = 31.854 ns, Q3 = 31.874 ns, Max = 31.898 ns
IQR = 0.039 ns, LowerFence = 31.777 ns, UpperFence = 31.932 ns
ConfidenceInterval = [31.828 ns; 31.883 ns] (CI 99.9%), Margin = 0.027 ns (0.09% of Mean)
Skewness = 0.02, Kurtosis = 1.64, MValue = 2
-------------------- Histogram --------------------
[31.805 ns ; 31.912 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.Simulate: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.629 ns, StdErr = 0.002 ns (0.34%), N = 15, StdDev = 0.008 ns
Min = 0.620 ns, Q1 = 0.622 ns, Median = 0.623 ns, Q3 = 0.635 ns, Max = 0.644 ns
IQR = 0.013 ns, LowerFence = 0.602 ns, UpperFence = 0.655 ns
ConfidenceInterval = [0.620 ns; 0.638 ns] (CI 99.9%), Margin = 0.009 ns (1.40% of Mean)
Skewness = 0.34, Kurtosis = 1.32, MValue = 2
-------------------- Histogram --------------------
[0.616 ns ; 0.630 ns) | @@@@@@@@
[0.630 ns ; 0.648 ns) | @@@@@@@
TrustMiniJIT.SimulateAggressive: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.627 ns, StdErr = 0.001 ns (0.23%), N = 15, StdDev = 0.006 ns
Min = 0.621 ns, Q1 = 0.623 ns, Median = 0.624 ns, Q3 = 0.631 ns, Max = 0.636 ns
IQR = 0.008 ns, LowerFence = 0.610 ns, UpperFence = 0.644 ns
ConfidenceInterval = [0.621 ns; 0.633 ns] (CI 99.9%), Margin = 0.006 ns (0.95% of Mean)
Skewness = 0.73, Kurtosis = 1.69, MValue = 2
-------------------- Histogram --------------------
[0.618 ns ; 0.639 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.SimulateStatic: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.314 ns, StdErr = 0.001 ns (0.43%), N = 15, StdDev = 0.005 ns
Min = 0.310 ns, Q1 = 0.310 ns, Median = 0.311 ns, Q3 = 0.319 ns, Max = 0.322 ns
IQR = 0.009 ns, LowerFence = 0.296 ns, UpperFence = 0.333 ns
ConfidenceInterval = [0.309 ns; 0.320 ns] (CI 99.9%), Margin = 0.006 ns (1.76% of Mean)
Skewness = 0.69, Kurtosis = 1.53, MValue = 2
-------------------- Histogram --------------------
[0.308 ns ; 0.323 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.SimulateNo: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 1.871 ns, StdErr = 0.002 ns (0.08%), N = 15, StdDev = 0.006 ns
Min = 1.863 ns, Q1 = 1.865 ns, Median = 1.871 ns, Q3 = 1.876 ns, Max = 1.882 ns
IQR = 0.011 ns, LowerFence = 1.849 ns, UpperFence = 1.892 ns
ConfidenceInterval = [1.865 ns; 1.878 ns] (CI 99.9%), Margin = 0.006 ns (0.35% of Mean)
Skewness = 0.1, Kurtosis = 1.42, MValue = 2
-------------------- Histogram --------------------
[1.860 ns ; 1.885 ns) | @@@@@@@@@@@@@@@
// * Summary *
BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.202
[Host] : .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Median |
|------------------- |-----------:|----------:|----------:|-----------:|
| Padding | 0.0024 ns | 0.0025 ns | 0.0023 ns | 0.0025 ns |
| Padding2 | 0.0009 ns | 0.0037 ns | 0.0029 ns | 0.0000 ns |
| Instanced | 32.0148 ns | 0.0280 ns | 0.0262 ns | 32.0108 ns |
| Static | 31.9663 ns | 0.0466 ns | 0.0436 ns | 31.9544 ns |
| Aggressive | 31.8556 ns | 0.0271 ns | 0.0254 ns | 31.8541 ns |
| Simulate | 0.6290 ns | 0.0088 ns | 0.0083 ns | 0.6225 ns |
| SimulateAggressive | 0.6266 ns | 0.0060 ns | 0.0056 ns | 0.6236 ns |
| SimulateStatic | 0.3141 ns | 0.0055 ns | 0.0052 ns | 0.3112 ns |
| SimulateNo | 1.8713 ns | 0.0065 ns | 0.0061 ns | 1.8711 ns |
// * Warnings *
ZeroMeasurement
TrustMiniJIT.Padding: Default -> The method duration is indistinguishable from the empty method duration
TrustMiniJIT.Padding2: Default -> The method duration is indistinguishable from the empty method duration
MultimodalDistribution
TrustMiniJIT.Padding: Default -> It seems that the distribution is bimodal (mValue = 3.71)
// * Hints *
Outliers
TrustMiniJIT.Padding2: Default -> 3 outliers were removed (1.73 ns..1.88 ns)
// * Legends *
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
Median : Value separating the higher half of all measurements (50th percentile)
1 ns : 1 Nanosecond (0.000000001 sec)