Skip to content

TrustMiniJIT_MyEmitDelegate

wuke32767 edited this page Mar 22, 2025 · 4 revisions

8bc5644787af489fccd4603c7dc4f0e5cdf80daf

a variant of TrustJIT_MyEmitDelegate. all methods only have 1 parameter, but is still complicated.


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.0011 ns 0.0016 ns 0.0015 ns 0.0003 ns
Standard 32.6461 ns 0.1102 ns 0.1031 ns 32.6463 ns
StandardStatic 17.0890 ns 0.0579 ns 0.0542 ns 17.0754 ns
StandardStaticAnd 27.6779 ns 0.0385 ns 0.0300 ns 27.6863 ns
Standard2 27.5672 ns 0.0245 ns 0.0217 ns 27.5721 ns
Official 30.1294 ns 0.0860 ns 0.0805 ns 30.1479 ns
Mine 29.4805 ns 0.0702 ns 0.0657 ns 29.4967 ns
MineStatic 19.0096 ns 0.0212 ns 0.0188 ns 19.0040 ns

// * Detailed results *

TrustMiniJIT_MyEmitDelegate.Padding: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 0.001 ns, StdErr = 0.000 ns (36.57%), N = 15, StdDev = 0.002 ns

Min = 0.000 ns, Q1 = 0.000 ns, Median = 0.000 ns, Q3 = 0.002 ns, Max = 0.004 ns

IQR = 0.002 ns, LowerFence = -0.003 ns, UpperFence = 0.005 ns

ConfidenceInterval = [-0.001 ns; 0.003 ns] (CI 99.9%), Margin = 0.002 ns (151.41% of Mean)

Skewness = 0.99, Kurtosis = 2.28, MValue = 2.55

-------------------- Histogram --------------------

[-0.000 ns ; 0.001 ns) | @@@@@@@@@@@

[ 0.001 ns ; 0.002 ns) |

[ 0.002 ns ; 0.004 ns) | @@@

[ 0.004 ns ; 0.005 ns) | @


TrustMiniJIT_MyEmitDelegate.Standard: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 32.646 ns, StdErr = 0.027 ns (0.08%), N = 15, StdDev = 0.103 ns

Min = 32.486 ns, Q1 = 32.588 ns, Median = 32.646 ns, Q3 = 32.732 ns, Max = 32.775 ns

IQR = 0.145 ns, LowerFence = 32.371 ns, UpperFence = 32.949 ns

ConfidenceInterval = [32.536 ns; 32.756 ns] (CI 99.9%), Margin = 0.110 ns (0.34% of Mean)

Skewness = -0.33, Kurtosis = 1.6, MValue = 2

-------------------- Histogram --------------------

[32.431 ns ; 32.830 ns) | @@@@@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.StandardStatic: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 17.089 ns, StdErr = 0.014 ns (0.08%), N = 15, StdDev = 0.054 ns

Min = 17.024 ns, Q1 = 17.044 ns, Median = 17.075 ns, Q3 = 17.140 ns, Max = 17.196 ns

IQR = 0.096 ns, LowerFence = 16.899 ns, UpperFence = 17.285 ns

ConfidenceInterval = [17.031 ns; 17.147 ns] (CI 99.9%), Margin = 0.058 ns (0.34% of Mean)

Skewness = 0.48, Kurtosis = 1.7, MValue = 2

-------------------- Histogram --------------------

[16.995 ns ; 17.225 ns) | @@@@@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.StandardStaticAnd: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 27.678 ns, StdErr = 0.009 ns (0.03%), N = 12, StdDev = 0.030 ns

Min = 27.599 ns, Q1 = 27.672 ns, Median = 27.686 ns, Q3 = 27.695 ns, Max = 27.711 ns

IQR = 0.023 ns, LowerFence = 27.637 ns, UpperFence = 27.730 ns

ConfidenceInterval = [27.639 ns; 27.716 ns] (CI 99.9%), Margin = 0.038 ns (0.14% of Mean)

Skewness = -1.33, Kurtosis = 4.13, MValue = 2

-------------------- Histogram --------------------

[27.582 ns ; 27.728 ns) | @@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.Standard2: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 27.567 ns, StdErr = 0.006 ns (0.02%), N = 14, StdDev = 0.022 ns

Min = 27.536 ns, Q1 = 27.551 ns, Median = 27.572 ns, Q3 = 27.578 ns, Max = 27.615 ns

IQR = 0.026 ns, LowerFence = 27.512 ns, UpperFence = 27.617 ns

ConfidenceInterval = [27.543 ns; 27.592 ns] (CI 99.9%), Margin = 0.025 ns (0.09% of Mean)

Skewness = 0.36, Kurtosis = 2.35, MValue = 2

-------------------- Histogram --------------------

[27.524 ns ; 27.626 ns) | @@@@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.Official: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 30.129 ns, StdErr = 0.021 ns (0.07%), N = 15, StdDev = 0.080 ns

Min = 30.015 ns, Q1 = 30.066 ns, Median = 30.148 ns, Q3 = 30.195 ns, Max = 30.267 ns

IQR = 0.129 ns, LowerFence = 29.873 ns, UpperFence = 30.389 ns

ConfidenceInterval = [30.043 ns; 30.215 ns] (CI 99.9%), Margin = 0.086 ns (0.29% of Mean)

Skewness = 0.03, Kurtosis = 1.51, MValue = 2

-------------------- Histogram --------------------

[29.972 ns ; 30.309 ns) | @@@@@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.Mine: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 29.481 ns, StdErr = 0.017 ns (0.06%), N = 15, StdDev = 0.066 ns

Min = 29.341 ns, Q1 = 29.430 ns, Median = 29.497 ns, Q3 = 29.509 ns, Max = 29.612 ns

IQR = 0.079 ns, LowerFence = 29.311 ns, UpperFence = 29.628 ns

ConfidenceInterval = [29.410 ns; 29.551 ns] (CI 99.9%), Margin = 0.070 ns (0.24% of Mean)

Skewness = -0.1, Kurtosis = 2.75, MValue = 2

-------------------- Histogram --------------------

[29.306 ns ; 29.647 ns) | @@@@@@@@@@@@@@@


TrustMiniJIT_MyEmitDelegate.MineStatic: DefaultJob

Runtime = .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2; GC = Concurrent Workstation

Mean = 19.010 ns, StdErr = 0.005 ns (0.03%), N = 14, StdDev = 0.019 ns

Min = 18.978 ns, Q1 = 18.997 ns, Median = 19.004 ns, Q3 = 19.023 ns, Max = 19.048 ns

IQR = 0.026 ns, LowerFence = 18.957 ns, UpperFence = 19.063 ns

ConfidenceInterval = [18.988 ns; 19.031 ns] (CI 99.9%), Margin = 0.021 ns (0.11% of Mean)

Skewness = 0.3, Kurtosis = 2.11, MValue = 2

-------------------- Histogram --------------------

[18.968 ns ; 19.058 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.0011 ns | 0.0016 ns | 0.0015 ns | 0.0003 ns |

| Standard | 32.6461 ns | 0.1102 ns | 0.1031 ns | 32.6463 ns |

| StandardStatic | 17.0890 ns | 0.0579 ns | 0.0542 ns | 17.0754 ns |

| StandardStaticAnd | 27.6779 ns | 0.0385 ns | 0.0300 ns | 27.6863 ns |

| Standard2 | 27.5672 ns | 0.0245 ns | 0.0217 ns | 27.5721 ns |

| Official | 30.1294 ns | 0.0860 ns | 0.0805 ns | 30.1479 ns |

| Mine | 29.4805 ns | 0.0702 ns | 0.0657 ns | 29.4967 ns |

| MineStatic | 19.0096 ns | 0.0212 ns | 0.0188 ns | 19.0040 ns |

// * Warnings *

ZeroMeasurement

TrustMiniJIT_MyEmitDelegate.Padding: Default -> The method duration is indistinguishable from the empty method duration

// * Hints *

Outliers

TrustMiniJIT_MyEmitDelegate.StandardStaticAnd: Default -> 3 outliers were removed, 4 outliers were detected (29.27 ns, 29.44 ns..29.48 ns)

TrustMiniJIT_MyEmitDelegate.Standard2: Default -> 1 outlier was removed (29.30 ns)

TrustMiniJIT_MyEmitDelegate.MineStatic: Default -> 1 outlier was removed (20.89 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