6 Comparaison Expressions Templates

Nous allons maintenant comparer les deux méthodes qui utilisent les expressions templates. Mais, comme il s'agit des expressions templates, on ne peut pas utiliser les deux dans le même fichier, car ils redéfinissent l'opérateur = de deux manières différentes.

Nous devons donc faire deux programmes différents pour tester les deux méthodes. Ça nous fait une bonne occasion d'utiliser CMake.

Nous allons partir des fichiers suivants :

Le test va être assez simple, il suffit de faire un programmes qui utilise un Vector, un autre qui utilise les PVector. Les deux programmes doivent bien sûr effectuer le même calcul, sur des vecteurs de la même taille (nous prendrons 5000). Et nous effectuons 1000 fois les calculs, ce qui permet de s'affranchir des fluctuations dues aux registres.

Pour mesurer le temps écoulé, nous utiliserons la fonction clock() en incluant le fichier time.h.