Temps d'exécution du code de test C++

Si nous voulons voir intuitivement l’impact des algorithmes naïfs et d’autres algorithmes sur la durée d’exécution du programme, nous pouvons procéder comme suit.

Méthode 1 : Implémentation basée sur le fichier d'en-tête ctime et la fonction clock()

Codage 1 :

#include<iostream>
#include<ctime>

using namespace std;

const int N = 1e6;
int main(){

    clock_t start, end;
    
    start = clock();
    printf("Start: %ld\n",start);

    for(int i = 0 ; i < N ; i ++){
        //一个用时为0.002s的小循环
    }

    end = clock();
    printf("End: %ld\n",end);

    double elapsedTime = static_cast<double>(end-start) / CLOCKS_PER_SEC ;
    //clock()以毫秒的形式展现,因此需要除以 CLOCKS_PER_SEC 来实现转换
    //static_cast<double>的作用是将结果转换为double类型
    printf("CPU PROCESSING TIME: %f",elapsedTime);
    return 0;
}

Le résultat est le suivant :

 Si nous ajoutons une boucle avec un nombre de boucles de 1 000 fois à l'intérieur de la petite boucle, le résultat devrait être 1 000 fois 0,002 s ;

Code 2 :

#include<iostream>
#include<ctime>

using namespace std;

const int N = 1e6;
int main(){

    clock_t start, end;
    
    start = clock();
    printf("Start: %ld\n",start);

    for(int i = 0 ; i < N ; i ++){
        for(int i = 0 ; i < 1000 ; i ++){
            //A loop that takes about two seconds to run
        }
    }

    end = clock();
    printf("End: %ld\n",end);

    double elapsedTime = static_cast<double>(end-start) / CLOCKS_PER_SEC ;
    printf("CPU PROCESSING TIME: %f",elapsedTime);
    return 0;
}

Le résultat est le suivant :

 La valeur de retour de la fonction clock :

Le nombre de ticks d'horloge écoulés depuis une époque liée à l'exécution d'un programme particulier.
En cas d'échec, la fonction renvoie une valeur de -1. --- https://cplusplus.com/reference/ctime/clock/

Supongo que te gusta

Origin blog.csdn.net/m0_63478913/article/details/125853266
Recomendado
Clasificación