-
Notifications
You must be signed in to change notification settings - Fork 0
MonoModBenchmark2
ba6e98a31156c55a15e07b74fbced8d0b5ea0222
All of these methods have 7 int parameters, and are marked as NoInlining.
Hook1 is hooked by one hook.
Hook1d is a delegate that do nothing but call Hook1.
Hook11 is hooked by one hook and one ilhook.
Hook2 is hooked by two hooks.
BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 2 logical cores and 1 physical core
.NET SDK 9.0.200
[Host] : .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Hook1d | 42.15 ns | 0.085 ns | 0.071 ns |
| Hook1 | 41.71 ns | 0.071 ns | 0.063 ns |
| Hook11 | 37.42 ns | 0.110 ns | 0.103 ns |
| Hook2 | 54.11 ns | 0.076 ns | 0.067 ns |
// * Detailed results *
MonoModBenchmark2.Hook1d: DefaultJob
Runtime = .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 42.151 ns, StdErr = 0.020 ns (0.05%), N = 13, StdDev = 0.071 ns
Min = 42.048 ns, Q1 = 42.100 ns, Median = 42.163 ns, Q3 = 42.194 ns, Max = 42.305 ns
IQR = 0.094 ns, LowerFence = 41.959 ns, UpperFence = 42.335 ns
ConfidenceInterval = [42.066 ns; 42.236 ns] (CI 99.9%), Margin = 0.085 ns (0.20% of Mean)
Skewness = 0.4, Kurtosis = 2.43, MValue = 2
-------------------- Histogram --------------------
[42.008 ns ; 42.345 ns) | @@@@@@@@@@@@@
MonoModBenchmark2.Hook1: DefaultJob
Runtime = .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 41.707 ns, StdErr = 0.017 ns (0.04%), N = 14, StdDev = 0.063 ns
Min = 41.595 ns, Q1 = 41.669 ns, Median = 41.720 ns, Q3 = 41.739 ns, Max = 41.814 ns
IQR = 0.071 ns, LowerFence = 41.563 ns, UpperFence = 41.845 ns
ConfidenceInterval = [41.637 ns; 41.778 ns] (CI 99.9%), Margin = 0.071 ns (0.17% of Mean)
Skewness = -0.18, Kurtosis = 2.03, MValue = 2
-------------------- Histogram --------------------
[41.561 ns ; 41.848 ns) | @@@@@@@@@@@@@@
MonoModBenchmark2.Hook11: DefaultJob
Runtime = .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 37.424 ns, StdErr = 0.027 ns (0.07%), N = 15, StdDev = 0.103 ns
Min = 37.298 ns, Q1 = 37.353 ns, Median = 37.386 ns, Q3 = 37.470 ns, Max = 37.629 ns
IQR = 0.117 ns, LowerFence = 37.178 ns, UpperFence = 37.646 ns
ConfidenceInterval = [37.315 ns; 37.534 ns] (CI 99.9%), Margin = 0.110 ns (0.29% of Mean)
Skewness = 0.68, Kurtosis = 2.22, MValue = 2
-------------------- Histogram --------------------
[37.243 ns ; 37.684 ns) | @@@@@@@@@@@@@@@
MonoModBenchmark2.Hook2: DefaultJob
Runtime = .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2; GC = Concurrent Workstation
Mean = 54.105 ns, StdErr = 0.018 ns (0.03%), N = 14, StdDev = 0.067 ns
Min = 54.002 ns, Q1 = 54.050 ns, Median = 54.116 ns, Q3 = 54.161 ns, Max = 54.198 ns
IQR = 0.111 ns, LowerFence = 53.883 ns, UpperFence = 54.328 ns
ConfidenceInterval = [54.030 ns; 54.181 ns] (CI 99.9%), Margin = 0.076 ns (0.14% of Mean)
Skewness = -0.03, Kurtosis = 1.45, MValue = 2
-------------------- Histogram --------------------
[53.966 ns ; 54.235 ns) | @@@@@@@@@@@@@@
// * Summary *
BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 2 logical cores and 1 physical core
.NET SDK 9.0.200
[Host] : .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2
DefaultJob : .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2
| Method | Mean | Error | StdDev |
|------- |---------:|---------:|---------:|
| Hook1d | 42.15 ns | 0.085 ns | 0.071 ns |
| Hook1 | 41.71 ns | 0.071 ns | 0.063 ns |
| Hook11 | 37.42 ns | 0.110 ns | 0.103 ns |
| Hook2 | 54.11 ns | 0.076 ns | 0.067 ns |
// * Hints *
Outliers
MonoModBenchmark2.Hook1d: Default -> 2 outliers were removed (44.56 ns, 44.93 ns)
MonoModBenchmark2.Hook1: Default -> 1 outlier was removed (43.66 ns)
MonoModBenchmark2.Hook2: Default -> 1 outlier was removed (57.74 ns)
// * Legends *
Mean : Arithmetic mean of all measurements
Error : Half of 99.9% confidence interval
StdDev : Standard deviation of all measurements
1 ns : 1 Nanosecond (0.000000001 sec)