4.3.2 : Performance avec les NaN
La figure 26 montre les performance obtenues avec une racine carrée lorsqu'il traite des tableaux initialisés ou non avec des NaN. On constate que la présence de NaN ne dégrade pas les performances, bien au contraire.
Figure 26 : Performances obtenues avec l'optimisation -O3 entre une racine carrée de référence (+ violet) et la même fonction mais sur des tableaux initialisés aléatoirement avec des NaN, entre 1 (001) et (1). À gauche, le temps total en nanosecondes en fonctions du nombre d'éléments. À droite, le temps par élément en nanosecondes en fonctions du nombre d'éléments.
La figure 27 montre les performance obtenues avec une racine carrée vectorisé lorsqu'il traite des tableaux initialisés ou non avec des NaN. On constate que la présence de NaN ne dégrade pas les performances, bien au contraire.
Figure 27 : Performances obtenues avec l'optimisation -O3 entre une racine carrée vectorisé (+ violet) et la même fonction mais sur des tableaux initialisés aléatoirement avec des NaN, entre 1 (001) et (1). À gauche, le temps total en nanosecondes en fonctions du nombre d'éléments. À droite, le temps par élément en nanosecondes en fonctions du nombre d'éléments.
La figure 28 montre les performance obtenues avec une racine carrée en fonction intrisèques lorsqu'il traite des tableaux initialisés ou non avec des NaN. On constate que la présence de NaN ne dégrade pas les performances, bien au contraire.
Figure 28 : Performances obtenues avec l'optimisation -O3 entre une racine carrée en fonction intrisèques (+ violet) et la même fonction mais sur des tableaux initialisés aléatoirement avec des NaN, entre 1 (001) et (1). À gauche, le temps total en nanosecondes en fonctions du nombre d'éléments. À droite, le temps par élément en nanosecondes en fonctions du nombre d'éléments.