-
Notifications
You must be signed in to change notification settings - Fork 0
TrustMiniJIT
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.2242 ns | 0.0108 ns | 0.0095 ns | 0.2219 ns |
| Padding2 | 0.0021 ns | 0.0037 ns | 0.0033 ns | 0.0003 ns |
| Instanced | 31.5074 ns | 0.0220 ns | 0.0195 ns | 31.5036 ns |
| Static | 31.5641 ns | 0.0484 ns | 0.0453 ns | 31.5592 ns |
| Aggressive | 31.8630 ns | 0.0273 ns | 0.0213 ns | 31.8631 ns |
| Simulate | 0.6254 ns | 0.0046 ns | 0.0043 ns | 0.6247 ns |
| SimulateAggressive | 0.6250 ns | 0.0042 ns | 0.0040 ns | 0.6241 ns |
| SimulateStatic | 0.3129 ns | 0.0034 ns | 0.0032 ns | 0.3120 ns |
| SimulateNo | 1.8663 ns | 0.0033 ns | 0.0031 ns | 1.8649 ns |
// * Detailed results *
TrustMiniJIT.Padding: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.224 ns, StdErr = 0.003 ns (1.14%), N = 14, StdDev = 0.010 ns
Min = 0.213 ns, Q1 = 0.216 ns, Median = 0.222 ns, Q3 = 0.231 ns, Max = 0.244 ns
IQR = 0.014 ns, LowerFence = 0.195 ns, UpperFence = 0.252 ns
ConfidenceInterval = [0.213 ns; 0.235 ns] (CI 99.9%), Margin = 0.011 ns (4.80% of Mean)
Skewness = 0.55, Kurtosis = 1.86, MValue = 2.57
-------------------- Histogram --------------------
[0.211 ns ; 0.222 ns) | @@@@@@@
[0.222 ns ; 0.228 ns) | @@
[0.228 ns ; 0.238 ns) | @@@@
[0.238 ns ; 0.249 ns) | @
TrustMiniJIT.Padding2: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.002 ns, StdErr = 0.001 ns (42.24%), N = 14, StdDev = 0.003 ns
Min = 0.000 ns, Q1 = 0.000 ns, Median = 0.000 ns, Q3 = 0.003 ns, Max = 0.011 ns
IQR = 0.003 ns, LowerFence = -0.004 ns, UpperFence = 0.007 ns
ConfidenceInterval = [-0.002 ns; 0.006 ns] (CI 99.9%), Margin = 0.004 ns (178.27% of Mean)
Skewness = 1.41, Kurtosis = 3.81, MValue = 2.67
-------------------- Histogram --------------------
[-0.001 ns ; 0.003 ns) | @@@@@@@@@@@
[ 0.003 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 = 31.507 ns, StdErr = 0.005 ns (0.02%), N = 14, StdDev = 0.019 ns
Min = 31.484 ns, Q1 = 31.491 ns, Median = 31.504 ns, Q3 = 31.520 ns, Max = 31.549 ns
IQR = 0.030 ns, LowerFence = 31.446 ns, UpperFence = 31.565 ns
ConfidenceInterval = [31.485 ns; 31.529 ns] (CI 99.9%), Margin = 0.022 ns (0.07% of Mean)
Skewness = 0.59, Kurtosis = 2.09, MValue = 2
-------------------- Histogram --------------------
[31.473 ns ; 31.559 ns) | @@@@@@@@@@@@@@
TrustMiniJIT.Static: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 31.564 ns, StdErr = 0.012 ns (0.04%), N = 15, StdDev = 0.045 ns
Min = 31.471 ns, Q1 = 31.538 ns, Median = 31.559 ns, Q3 = 31.596 ns, Max = 31.648 ns
IQR = 0.058 ns, LowerFence = 31.451 ns, UpperFence = 31.683 ns
ConfidenceInterval = [31.516 ns; 31.613 ns] (CI 99.9%), Margin = 0.048 ns (0.15% of Mean)
Skewness = -0.15, Kurtosis = 2.36, MValue = 2
-------------------- Histogram --------------------
[31.447 ns ; 31.672 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.Aggressive: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 31.863 ns, StdErr = 0.006 ns (0.02%), N = 12, StdDev = 0.021 ns
Min = 31.832 ns, Q1 = 31.850 ns, Median = 31.863 ns, Q3 = 31.879 ns, Max = 31.893 ns
IQR = 0.029 ns, LowerFence = 31.806 ns, UpperFence = 31.922 ns
ConfidenceInterval = [31.836 ns; 31.890 ns] (CI 99.9%), Margin = 0.027 ns (0.09% of Mean)
Skewness = -0.12, Kurtosis = 1.46, MValue = 2
-------------------- Histogram --------------------
[31.820 ns ; 31.905 ns) | @@@@@@@@@@@@
TrustMiniJIT.Simulate: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.625 ns, StdErr = 0.001 ns (0.18%), N = 15, StdDev = 0.004 ns
Min = 0.620 ns, Q1 = 0.621 ns, Median = 0.625 ns, Q3 = 0.629 ns, Max = 0.632 ns
IQR = 0.008 ns, LowerFence = 0.609 ns, UpperFence = 0.641 ns
ConfidenceInterval = [0.621 ns; 0.630 ns] (CI 99.9%), Margin = 0.005 ns (0.74% of Mean)
Skewness = 0.09, Kurtosis = 1.12, MValue = 2
-------------------- Histogram --------------------
[0.618 ns ; 0.634 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.SimulateAggressive: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.625 ns, StdErr = 0.001 ns (0.16%), N = 15, StdDev = 0.004 ns
Min = 0.620 ns, Q1 = 0.621 ns, Median = 0.624 ns, Q3 = 0.629 ns, Max = 0.631 ns
IQR = 0.008 ns, LowerFence = 0.610 ns, UpperFence = 0.641 ns
ConfidenceInterval = [0.621 ns; 0.629 ns] (CI 99.9%), Margin = 0.004 ns (0.68% of Mean)
Skewness = 0.18, Kurtosis = 1.17, MValue = 2
-------------------- Histogram --------------------
[0.618 ns ; 0.633 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.SimulateStatic: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.313 ns, StdErr = 0.001 ns (0.27%), N = 15, StdDev = 0.003 ns
Min = 0.309 ns, Q1 = 0.310 ns, Median = 0.312 ns, Q3 = 0.316 ns, Max = 0.317 ns
IQR = 0.006 ns, LowerFence = 0.301 ns, UpperFence = 0.325 ns
ConfidenceInterval = [0.309 ns; 0.316 ns] (CI 99.9%), Margin = 0.003 ns (1.10% of Mean)
Skewness = 0.15, Kurtosis = 1.11, MValue = 2
-------------------- Histogram --------------------
[0.307 ns ; 0.319 ns) | @@@@@@@@@@@@@@@
TrustMiniJIT.SimulateNo: DefaultJob
Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 1.866 ns, StdErr = 0.001 ns (0.04%), N = 15, StdDev = 0.003 ns
Min = 1.863 ns, Q1 = 1.864 ns, Median = 1.865 ns, Q3 = 1.869 ns, Max = 1.872 ns
IQR = 0.005 ns, LowerFence = 1.856 ns, UpperFence = 1.877 ns
ConfidenceInterval = [1.863 ns; 1.870 ns] (CI 99.9%), Margin = 0.003 ns (0.18% of Mean)
Skewness = 0.25, Kurtosis = 1.39, MValue = 2
-------------------- Histogram --------------------
[1.861 ns ; 1.873 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.2242 ns | 0.0108 ns | 0.0095 ns | 0.2219 ns |
| Padding2 | 0.0021 ns | 0.0037 ns | 0.0033 ns | 0.0003 ns |
| Instanced | 31.5074 ns | 0.0220 ns | 0.0195 ns | 31.5036 ns |
| Static | 31.5641 ns | 0.0484 ns | 0.0453 ns | 31.5592 ns |
| Aggressive | 31.8630 ns | 0.0273 ns | 0.0213 ns | 31.8631 ns |
| Simulate | 0.6254 ns | 0.0046 ns | 0.0043 ns | 0.6247 ns |
| SimulateAggressive | 0.6250 ns | 0.0042 ns | 0.0040 ns | 0.6241 ns |
| SimulateStatic | 0.3129 ns | 0.0034 ns | 0.0032 ns | 0.3120 ns |
| SimulateNo | 1.8663 ns | 0.0033 ns | 0.0031 ns | 1.8649 ns |
// * Warnings *
ZeroMeasurement
TrustMiniJIT.Padding2: Default -> The method duration is indistinguishable from the empty method duration
// * Hints *
Outliers
TrustMiniJIT.Padding: Default -> 1 outlier was removed (1.99 ns)
TrustMiniJIT.Padding2: Default -> 1 outlier was removed (1.69 ns)
TrustMiniJIT.Instanced: Default -> 1 outlier was removed (33.63 ns)
TrustMiniJIT.Aggressive: Default -> 3 outliers were removed (33.65 ns..34.09 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)