Здравствуйте, Sinclair, Вы писали:
Мой старичок показывает такие показометры, в целом повторяя наблюдения (кроме CachedLinqSauvolaScalar):
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19041.388 (2004/?/20H1)
Intel Core i7-4770 CPU 3.40GHz (Haswell), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100-preview.6.20318.15
[Host] : .NET Core 3.1.6 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.31603), X64 RyuJIT
DefaultJob : .NET Core 3.1.6 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.31603), X64 RyuJIT
| Method | WHalf | FileName | Mean | Error | StdDev | Ratio |
|------------------------ |------ |----------- |-----------:|--------:|--------:|------:|
| SafeSauvola | 5 | p00743.bmp | 1,290.8 ms | 4.50 ms | 4.21 ms | 1.80 |
| UnsafeSauvolaScalar | 5 | p00743.bmp | 718.5 ms | 5.46 ms | 5.10 ms | 1.00 |
| LinqSauvolaVector | 5 | p00743.bmp | 1,167.0 ms | 5.14 ms | 4.30 ms | 1.62 |
| LinqSauvolaScalar | 5 | p00743.bmp | 1,293.6 ms | 6.25 ms | 5.84 ms | 1.80 |
| CachedLinqSauvolaVector | 5 | p00743.bmp | 694.3 ms | 4.94 ms | 4.63 ms | 0.97 |
| CachedLinqSauvolaScalar | 5 | p00743.bmp | 825.1 ms | 6.13 ms | 5.73 ms | 1.15 |
А вот, ещё .NET 5 preview:
BenchmarkDotNet=v0.12.1, OS=Windows 10.0.19041.388 (2004/?/20H1)
Intel Core i7-4770 CPU 3.40GHz (Haswell), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100-preview.6.20318.15
[Host] : .NET Core 3.1.6 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.31603), X64 RyuJIT
Job-HMFQFC : .NET Core 5.0.0 (CoreCLR 5.0.20.30506, CoreFX 5.0.20.30506), X64 RyuJIT
Runtime=.NET Core 5.0 Toolchain=netcoreapp50
| Method | WHalf | FileName | Mean | Error | StdDev | Ratio | RatioSD |
|------------------------ |------ |----------- |-----------:|--------:|--------:|------:|--------:|
| SafeSauvola | 5 | p00743.bmp | 1,242.5 ms | 5.74 ms | 4.79 ms | 1.84 | 0.01 |
| UnsafeSauvolaScalar | 5 | p00743.bmp | 674.4 ms | 5.80 ms | 5.43 ms | 1.00 | 0.00 |
| LinqSauvolaVector | 5 | p00743.bmp | 1,107.7 ms | 8.42 ms | 7.46 ms | 1.64 | 0.02 |
| LinqSauvolaScalar | 5 | p00743.bmp | 1,209.5 ms | 6.75 ms | 5.64 ms | 1.79 | 0.01 |
| CachedLinqSauvolaVector | 5 | p00743.bmp | 625.2 ms | 5.65 ms | 5.01 ms | 0.93 | 0.01 |
| CachedLinqSauvolaScalar | 5 | p00743.bmp | 778.4 ms | 5.66 ms | 5.02 ms | 1.15 | 0.00 |
Получается что UnsafeSauvolaScalar — по прежнему очень и очень хорош.