Implement AVX Rectangular Gauss Mask
Description
Description
Details
Details
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | vanyossi | T8580 Krita AVX optimization for brush mask generation: Gauss, Soft, Stamp, Rectangular Gauss, Rectangular Soft | ||
Resolved | vanyossi | T9010 Optimize Rectangular Gauss Mask |
Comment Actions
Implementation BenchMark results
FreehandStrokeBenchmark
Before
QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 1 Time: 113230 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 2 Time: 55631 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 3 Time: 50240 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 4 Time: 47741 (ms)
After
QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 1 Time: 12921 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 2 Time: 7101 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 3 Time: 8370 (ms) QDEBUG : FreehandStrokeBenchmark::testRectGaussianTip() Cores: 4 Time: 6757 (ms)
KisMaskGeneratorBenchmark
RESULT : KisMaskGeneratorBenchmark::testRectangularGaussScalarMask():
143.36 msecs per iteration (total: 14,336, iterations: 100)
RESULT : KisMaskGeneratorBenchmark::testRectangularGaussVectorMask():
13.67 msecs per iteration (total: 1,368, iterations: 100)