6. Temps CPU
Une quantité d’intérêt pour comparer les performances des méthodes est le temps CPU en secondes. Nous suggérons d’utiliser la fonction clock()
de la bibliothèque standard ctime
. Cette fonction renvoit un temps CPU (en “clock” de type clock_t
), il suffit donc de l’appeler juste avant et juste après l’action à mesurer, et d’effectuer la différence des deux. Voici un exemple de code minimaliste permettant d’obtenir le temps CPU mis pour effectuer une action. La variable CLOCKS_PER_SEC
est déjà codée en dure et permet de calculer le temps en seconde.
# include <ctime>
int main (){
clock_t start, end ;
start = clock();
/* Entrez ici les opérations à mesurer ... */
end = clock();
double temps_en_secondes = static_cast<double>(end - start) / CLOCKS_PER_SEC ;
Si votre temps est inférieur à la milliseconde, vous risquez de mesurer du bruit. Vous pouvez, au choix :
- [Mieux] Augmenter la taille du problème
- [Moins bien] Effectuer N fois la même opération et diviser ensuite le temps par N