-
Notifications
You must be signed in to change notification settings - Fork 0
MonoModBenchmark50
9c8671015be9e8fc7ec8d48b27ee0a238d449ed5
All of these methods have 7 int parameters.
Inlining is not marked as NoInlining,
the rests are marked as NoInlining.
OnHook* is onhooked.
ILHook* is ilhooked.
the number is hook count.
BenchmarkDotNet v0.14.0, Ubuntu 24.04.3 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.102
[Host] : .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Median |
|---|---|---|---|---|
| Inlining | 0.0000 ns | 0.0002 ns | 0.0002 ns | 0.0000 ns |
| NoInlining | 1.5554 ns | 0.0020 ns | 0.0015 ns | 1.5554 ns |
| OnHook1 | 41.6645 ns | 0.0968 ns | 0.0858 ns | 41.6413 ns |
| OnHook50 | 1,622.5911 ns | 0.7458 ns | 0.6228 ns | 1,622.4291 ns |
| ILHook1 | 20.9589 ns | 0.0231 ns | 0.0216 ns | 20.9526 ns |
| ILHook50 | 20.9737 ns | 0.0128 ns | 0.0119 ns | 20.9701 ns |
// * Detailed results *
MonoModBenchmark50.Inlining: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 0.000 ns, StdErr = 0.000 ns (100.00%), N = 14, StdDev = 0.000 ns
Min = 0.000 ns, Q1 = 0.000 ns, Median = 0.000 ns, Q3 = 0.000 ns, Max = 0.001 ns
IQR = 0.000 ns, LowerFence = 0.000 ns, UpperFence = 0.000 ns
ConfidenceInterval = [-0.000 ns; 0.000 ns] (CI 99.9%), Margin = 0.000 ns (422.08% of Mean)
Skewness = 2.98, Kurtosis = 10.41, MValue = 2
-------------------- Histogram --------------------
[-0.000 ns ; 0.000 ns) | @@@@@@@@@@@@@
[ 0.000 ns ; 0.000 ns) |
[ 0.000 ns ; 0.001 ns) |
[ 0.001 ns ; 0.001 ns) | @
MonoModBenchmark50.NoInlining: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 1.555 ns, StdErr = 0.000 ns (0.03%), N = 12, StdDev = 0.002 ns
Min = 1.553 ns, Q1 = 1.555 ns, Median = 1.555 ns, Q3 = 1.556 ns, Max = 1.559 ns
IQR = 0.002 ns, LowerFence = 1.552 ns, UpperFence = 1.559 ns
ConfidenceInterval = [1.553 ns; 1.557 ns] (CI 99.9%), Margin = 0.002 ns (0.13% of Mean)
Skewness = 0.31, Kurtosis = 2.71, MValue = 2
-------------------- Histogram --------------------
[1.552 ns ; 1.560 ns) | @@@@@@@@@@@@
MonoModBenchmark50.OnHook1: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 41.664 ns, StdErr = 0.023 ns (0.06%), N = 14, StdDev = 0.086 ns
Min = 41.573 ns, Q1 = 41.601 ns, Median = 41.641 ns, Q3 = 41.694 ns, Max = 41.862 ns
IQR = 0.093 ns, LowerFence = 41.462 ns, UpperFence = 41.834 ns
ConfidenceInterval = [41.568 ns; 41.761 ns] (CI 99.9%), Margin = 0.097 ns (0.23% of Mean)
Skewness = 0.85, Kurtosis = 2.63, MValue = 2
-------------------- Histogram --------------------
[41.526 ns ; 41.908 ns) | @@@@@@@@@@@@@@
MonoModBenchmark50.OnHook50: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 1.623 μs, StdErr = 0.000 μs (0.01%), N = 13, StdDev = 0.001 μs
Min = 1.622 μs, Q1 = 1.622 μs, Median = 1.622 μs, Q3 = 1.623 μs, Max = 1.624 μs
IQR = 0.001 μs, LowerFence = 1.621 μs, UpperFence = 1.624 μs
ConfidenceInterval = [1.622 μs; 1.623 μs] (CI 99.9%), Margin = 0.001 μs (0.05% of Mean)
Skewness = 0.38, Kurtosis = 1.81, MValue = 2
-------------------- Histogram --------------------
[1.621 μs ; 1.624 μs) | @@@@@@@@@@@@@
MonoModBenchmark50.ILHook1: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 20.959 ns, StdErr = 0.006 ns (0.03%), N = 15, StdDev = 0.022 ns
Min = 20.928 ns, Q1 = 20.943 ns, Median = 20.953 ns, Q3 = 20.977 ns, Max = 20.995 ns
IQR = 0.034 ns, LowerFence = 20.892 ns, UpperFence = 21.027 ns
ConfidenceInterval = [20.936 ns; 20.982 ns] (CI 99.9%), Margin = 0.023 ns (0.11% of Mean)
Skewness = 0.35, Kurtosis = 1.63, MValue = 2
-------------------- Histogram --------------------
[20.917 ns ; 21.007 ns) | @@@@@@@@@@@@@@@
MonoModBenchmark50.ILHook50: DefaultJob
Runtime = .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 20.974 ns, StdErr = 0.003 ns (0.01%), N = 15, StdDev = 0.012 ns
Min = 20.952 ns, Q1 = 20.967 ns, Median = 20.970 ns, Q3 = 20.982 ns, Max = 20.998 ns
IQR = 0.015 ns, LowerFence = 20.944 ns, UpperFence = 21.004 ns
ConfidenceInterval = [20.961 ns; 20.986 ns] (CI 99.9%), Margin = 0.013 ns (0.06% of Mean)
Skewness = 0.26, Kurtosis = 2.28, MValue = 2
-------------------- Histogram --------------------
[20.946 ns ; 21.004 ns) | @@@@@@@@@@@@@@@
// * Summary *
BenchmarkDotNet v0.14.0, Ubuntu 24.04.3 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.102
[Host] : .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev | Median |
|----------- |--------------:|----------:|----------:|--------------:|
| Inlining | 0.0000 ns | 0.0002 ns | 0.0002 ns | 0.0000 ns |
| NoInlining | 1.5554 ns | 0.0020 ns | 0.0015 ns | 1.5554 ns |
| OnHook1 | 41.6645 ns | 0.0968 ns | 0.0858 ns | 41.6413 ns |
| OnHook50 | 1,622.5911 ns | 0.7458 ns | 0.6228 ns | 1,622.4291 ns |
| ILHook1 | 20.9589 ns | 0.0231 ns | 0.0216 ns | 20.9526 ns |
| ILHook50 | 20.9737 ns | 0.0128 ns | 0.0119 ns | 20.9701 ns |
// * Warnings *
ZeroMeasurement
MonoModBenchmark50.Inlining: Default -> The method duration is indistinguishable from the empty method duration
// * Hints *
Outliers
MonoModBenchmark50.Inlining: Default -> 1 outlier was removed (1.69 ns)
MonoModBenchmark50.NoInlining: Default -> 3 outliers were removed (3.24 ns..3.24 ns)
MonoModBenchmark50.OnHook1: Default -> 1 outlier was removed (43.74 ns)
MonoModBenchmark50.OnHook50: Default -> 2 outliers were removed (1.63 μs, 1.63 μs)
// * 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)