< Summary - ReFlex - Library

Information
Class: PointCloud.Benchmark.Benchmarks.Filter.BoxBlur
Assembly: ReFlex.PointCloud.Benchmark
File(s): D:\a\reflex\reflex\test\Library\Performance\PointCloud.Benchmark\Benchmarks\Filter\BoxBlur.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 55
Coverable lines: 55
Total lines: 117
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

File(s)

D:\a\reflex\reflex\test\Library\Performance\PointCloud.Benchmark\Benchmarks\Filter\BoxBlur.cs

#LineLine coverage
 1using BenchmarkDotNet.Attributes;
 2using PointCloud.Benchmark.Common;
 3using PointCloud.Benchmark.Filter;
 4using PointCloud.Benchmark.Util;
 5
 6namespace PointCloud.Benchmark.Benchmarks.Filter;
 7
 8[MemoryDiagnoser]
 9public class BoxBlur
 10{
 11    private int _width;
 12    private int _height;
 13
 14    private readonly PointCloud3 _pCloud3;
 15
 016    private readonly BoxFilter _boxFilterOld = new BoxFilter(10);
 017    private readonly FastBoxFilter _fastBoxFilter = new FastBoxFilter(10);
 18
 019    private readonly OptimizedBoxFilter _boxFilterOpt1 = new OptimizedBoxFilter(10);
 020    private readonly OptimizedBoxFilter _boxFilterOpt2 = new OptimizedBoxFilter(10, 3, 16);
 021    private readonly OptimizedBoxFilter _boxFilterOpt3 = new OptimizedBoxFilter(10, 3, 8);
 022    private readonly OptimizedBoxFilter _boxFilterOpt4 = new OptimizedBoxFilter(10);
 23
 024    private readonly OptimizedBoxFilter _boxFilterOpt4_1 = new OptimizedBoxFilter(10, 1,16);
 025    private readonly OptimizedBoxFilter _boxFilterOpt4_5 = new OptimizedBoxFilter(10, 5,16);
 26
 027    public BoxBlur()
 028    {
 029        var data = DataLoader.Load();
 030        _width = data.Item1;
 031        _height = data.Item2;
 32
 33
 034        _pCloud3 = new PointCloud3(_width, _height);
 035        _pCloud3.Update(data.Item3);
 36
 037    }
 38
 39    [Benchmark]
 40    public void BoxBlurOld()
 041    {
 042        _boxFilterOld.Filter(_pCloud3);
 043    }
 44
 45    [Benchmark]
 46    public void BoxBlurOldOptimized()
 047    {
 048        _boxFilterOld.FilterOptimized(_pCloud3);
 049    }
 50
 51    [Benchmark]
 52    public void FastBoxBlur()
 053    {
 054        _fastBoxFilter.Filter(_pCloud3);
 055    }
 56
 57    [Benchmark]
 58    public void BoxBlurOptimized_1_WithCopy_Parallel()
 059    {
 060        _boxFilterOpt1.FilterWithCopyParallel(_pCloud3);
 061    }
 62
 63    [Benchmark]
 64    public void BoxBlurOptimized_1_WithCopy_ParallelMemory32()
 065    {
 066        _boxFilterOpt1.FilterWithCopyParallelMemory(_pCloud3);
 067    }
 68
 69    [Benchmark]
 70    public void BoxBlurOptimized_1_WithCopy_ParallelMemory16()
 071    {
 072        _boxFilterOpt2.FilterWithCopyParallelMemory(_pCloud3);
 073    }
 74
 75    [Benchmark]
 76    public void BoxBlurOptimized_1_WithCopy_ParallelMemory8()
 077    {
 078        _boxFilterOpt3.FilterWithCopyParallelMemory(_pCloud3);
 079    }
 80
 81    [Benchmark]
 82    public void BoxBlurOptimized_1_WithCopy_ParallelMemoryAuto()
 083    {
 084        _boxFilterOpt4.FilterWithCopyParallelMemory(_pCloud3);
 085    }
 86
 87    [Benchmark]
 88    public void BoxBlurOptimized_1_WithCopy_ParallelMemory16_1Pass()
 089    {
 090        _boxFilterOpt4_1.FilterWithCopyParallelMemory(_pCloud3);
 091    }
 92
 93    [Benchmark]
 94    public void BoxBlurOptimized_1_WithCopy_ParallelMemory16_5Pass()
 095    {
 096        _boxFilterOpt4_5.FilterWithCopyParallelMemory(_pCloud3);
 097    }
 98
 99    [Benchmark]
 100    public void BoxBlurOptimized_1_WithCopy()
 0101    {
 0102        _boxFilterOpt1.FilterWithCopy(_pCloud3);
 0103    }
 104
 105    [Benchmark]
 106    public void BoxBlurOptimized_1_WithCopySpan()
 0107    {
 0108        _boxFilterOpt1.FilterWithCopySpan(_pCloud3);
 0109    }
 110
 111    [Benchmark]
 112    public void BoxBlurOptimized_1_WithCopyPoint3()
 0113    {
 0114        _boxFilterOpt1.Filter(_pCloud3);
 0115    }
 116
 117}