7.3.1 : Performances avec des options basiques



Il faut toujours commencer par faire simple (et après il faut continuer). La figure 1 montre les performances obtenues avec G++ 11.

nothing nothing

Figure 1 : Performances d'un produit de Hadamard. En haut : le temps total de calcul en cycles. En bas : le temps par élément en cycles.



La figure 2 compare au options basiques avec C++ 20 et un std::transform .

nothing nothing

Figure 2 : Performances d'un produit de Hadamard. En haut : le temps total de calcul en cycles. En bas : le temps par élément en cycles.



Pour le moment, rien de surprenant. -O3 et -Ofast sont les plus rapides. La version std::execution::unseq permet une vectorisation basique sans option avancées, mais on peut faire mieux.