-
Notifications
You must be signed in to change notification settings - Fork 0
MonoModBenchmark2
All of these methods have 7 int parameters, and are marked as NoInlining.
Hook1 is hooked by one hook.
Hook1d is Hook1 but additionally delegate-hooked.
Hook11 is the same as Hook1 but additionally ILHooked.
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)