# Fast Gaussian Filter Approximations Comparison on SIMD Computing Platforms
## 7 Experimental Comparison  
In this section, we present the results of our experimental comparison. In our computational experiments, we ran each method on 1000 randomly generated gray images of the size \(1024\times 1024\). The quantized methods obtained 8-bit unsigned integer data as inputs. The non-quantized methods operated on 32-bit floating-point data, and their input was in the \([0,1]\) range. The numerical values of the runtime are presented in Table 2. We also added illustrations to demonstrate the visual effects of applying the considered approximations. One can see them in Figures 8, 9 and 10. Analyzing these illustrations shows that all the considered implementations demonstrate an acceptable visual effect. The results in a more demonstrable form are presented in Figure 8. Here, the MSE is plotted along the \(x\)-axis and the running time along the \(y\)-axis. We also added the results for the case with \(\sigma=5\) in Figure 8. Analyzing the plots, one can choose a method based on the priority of higher accuracy or lower running time:  
* The Stack blur quantized implementation showed the lowest running time on x86, although, on ARM, the quantized implementation of running sums with \(k=3\) appeared to be slightly faster. However, these approximations have relatively low accuracy. * Among the IIR filters, the second-order VYV filter demonstrated the best running time both on x86 and ARM and slightly outperformed [PERSON]'s approximations in terms of accuracy. The third-order VYV filter works more slowly on x86 and faster on ARM, providing the most accurate results. * The IIR filters outperformed almost all the floating-point methods except Stack blur on ARM for \(\sigma=10\). * All in all, the second-order VYV filter has the best balance between speed and accuracy. Moreover, it requires a constant amount of additional memory. However, it uses floating-point input and computations, which can be inappropriate for some cases. * Among the integer-only methods, the quantized Bell blur and quantized running sums (\(k=4\) and \(k=5\)) have the best balance between the speed and accuracy on x86 and ARM, respectively. The Bell blur requires a constant amount of additional \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Method**} & \multicolumn{2}{c}{**Runtime, ns (x86)**} & \multicolumn{2}{c}{**Runtime, ns (ARMv8)**} \\ \cline{2-5}  & **no SIMD** & **with SIMD** & **no SIMD** & **with SIMD** \\ \hline Direct Gaussian & 81.3 & - & 281.5 & - \\ \hline Direct Gaussian & 12.0 & - & 128.0 & - \\ (quant.) & 10.7 & - & 86.1 & - \\ \hline Stack blur & 6.0 & 3.5 & 20.4 & 17.7 \\ \hline Stack blur (quant.) & **3.8** & **1.6** & **15.5** & 14.7 \\ \hline Bell blur & 6.7 & 4.3 & 31.6 & 26.8 \\ \hline Bell blur (quant.) & 5.7 & 2.6 & 22.5 & 22.0 \\ \hline Running sums, \(k=3\) & 8.3 & 5.6 & 40.7 & 23.2 \\ (quant.) & 7.0 & 2.7 & 32.9 & **14.1** \\ \hline Running sums, \(k=4\) & 9.7 & 5.9 & 46.8 & 25.0 \\ \hline Running sums, \(k=4\) & 8.3 & 3.0 & 39.4 & 15.7 \\ (quant.) & 8.3 & 6.2 & 53.2 & 27.2 \\ \hline Running sums, \(k=5\) & 10.1 & 3.4 & 46.2 & 17.3 \\ (quant.) & 20.0 & 5.8 & 47.9 & 34.8 \\ \hline PcParab (quant.) & 15.0 & 4.9 & 65.2 & 29.8 \\ \hline Deriche (1 st order) & 9.1 & 3.5 & 31.3 & 20.4 \\ \hline Deriche (2 nd order) & 12.5 & 4.2 & 38.2 & 22.7 \\ \hline VYV (2 nd order) & 12.2 & 3.4 & 36.0 & 18.9 \\ \hline VYV (3 rd order) & 15.5 & 3.7 & 44.1 & 19.2 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Average runtime of the considered methods for \(\sigma=10\). Bold corresponds to the lowest value in the column.