Skip to content

TrustMiniJIT

wuke32767 edited this page Mar 20, 2025 · 3 revisions

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)

Clone this wiki locally