Relative speedups VS brush size - Modelling - +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | | 2.0 | 4.0 | 8.0 | 16.0 | 32.0 | 64.0 | 128.0 | 256.0 | 512.0 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | PythonSurface, original | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | | GeglSurface, original | 1.06 | 1.08 | 1.09 | 1.07 | 1.08 | 1.08 | 1.06 | 1.07 | 1.06 | | PythonSurface, optimized | 1.27 | 1.29 | 1.32 | 1.44 | 1.45 | 1.46 | 1.50 | 1.47 | 1.45 | | GeglSurface, optimized, 1 thread | 1.56 | 1.57 | 1.60 | 1.69 | 1.70 | 1.70 | 1.71 | 1.70 | 1.68 | | GeglSurface, optimized, 2 threads | 1.53 | 1.40 | 1.44 | 1.80 | 2.22 | 2.43 | 2.66 | 2.76 | 2.80 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ - Charcoal - +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | | 2.0 | 4.0 | 8.0 | 16.0 | 32.0 | 64.0 | 128.0 | 256.0 | 512.0 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | PythonSurface, original | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | | GeglSurface, original | 0.68 | 0.85 | 1.04 | 1.07 | 1.16 | 1.18 | 1.14 | 1.11 | 1.11 | | PythonSurface, optimized | 0.96 | 1.00 | 1.10 | 1.22 | 1.32 | 1.36 | 1.40 | 1.37 | 1.36 | | GeglSurface, optimized, 1 thread | 1.11 | 1.32 | 1.53 | 1.57 | 1.69 | 1.76 | 1.74 | 1.70 | 1.69 | | GeglSurface, optimized, 2 threads | 1.05 | 1.18 | 1.37 | 1.59 | 1.92 | 2.10 | 2.42 | 2.77 | 2.76 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ - Coarse Bulk 2 - +-----------------------------------+------+------+------+------+------+------+-------+-------+ | | 2.0 | 4.0 | 8.0 | 16.0 | 32.0 | 64.0 | 128.0 | 256.0 | +-----------------------------------+------+------+------+------+------+------+-------+-------+ | PythonSurface, original | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | | GeglSurface, original | 1.08 | 1.46 | 1.55 | 1.34 | 1.23 | 1.17 | 1.16 | 0.98 | | PythonSurface, optimized | 0.99 | 1.02 | 1.12 | 1.21 | 1.25 | 1.30 | 1.32 | 1.30 | | GeglSurface, optimized, 1 thread | 1.47 | 1.80 | 1.91 | 1.78 | 1.70 | 1.68 | 1.67 | 1.33 | | GeglSurface, optimized, 2 threads | 1.48 | 2.05 | 2.37 | 2.57 | 2.53 | 2.61 | 2.68 | 1.77 | +-----------------------------------+------+------+------+------+------+------+-------+-------+ - Bulk - +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | | 2.0 | 4.0 | 8.0 | 16.0 | 32.0 | 64.0 | 128.0 | 256.0 | 512.0 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+ | PythonSurface, original | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | | GeglSurface, original | 0.85 | 1.15 | 1.85 | 1.44 | 1.53 | 2.28 | 1.53 | 1.51 | 1.13 | | PythonSurface, optimized | 0.92 | 0.99 | 1.08 | 1.20 | 1.27 | 1.36 | 1.36 | 1.30 | 1.32 | | GeglSurface, optimized, 1 thread | 1.34 | 1.54 | 1.65 | 1.69 | 1.74 | 1.75 | 1.71 | 1.65 | 1.61 | | GeglSurface, optimized, 2 threads | 1.10 | 1.34 | 1.57 | 1.84 | 2.22 | 2.52 | 2.69 | 2.72 | 2.66 | +-----------------------------------+------+------+------+------+------+------+-------+-------+-------+