Rebonjour,
Y a t-il un moyen de calculer la vitesse d'exécution d'un programme, je voudrai m'amuser à écrire des petits programmes de plusieurs façon afin de voir quelle est la méthode la plus rapide pour le processeur ?
Merci.
Rebonjour,
Y a t-il un moyen de calculer la vitesse d'exécution d'un programme, je voudrai m'amuser à écrire des petits programmes de plusieurs façon afin de voir quelle est la méthode la plus rapide pour le processeur ?
Merci.
Bonjour,
en C, je ne saurai pas repondre a ta question. Il doit y avoir quelque chose retournant ce que tu chercher, mais je ne la connais pas.
Par contre, la librairie SDL possede des timers (ainsi que la SFLM).
Si vraiment tu n'as aucune reponse, sors l'artillerie lourde et met la libraire SDL ou SFLM dans ton projet. Mais bon, c'est vraiment sortir le marteau-piqueur pour ecraser une mouche
Bonjour,
Si tu as plusieurs programmes à comparer, l'idéal serait un programme chronomètre qui lance le programme à bencher.
Pour faire un chrono, c'est assez simple, on regarde l'heure, on lance la programme à bencher, une fois fini, on reprend l'heure, on fait la différence avec la première.
Si on veut quelque chose de plus précis, il faut utiliser des fonctions plus fines que time (comme ftime ou GetTickCount)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdlib.h> #include <stdio.h> #include <time.h> int main(void) { time_t start, stop; start = time(NULL); system("mon_programme_a tester"); stop = time(NULL); printf("execution en %ds\n", stop - start); return 0; }
PS: sous linux, il existe l'outil "time" qui permet de faire ça facilement
Ok c'est une bonne idée, je vais faire comme ça.
Merci .
Sinon si c'est pour bencher des programmes dont tu as les sources (vu ce que tu demandes, c'est ce que tu veux faire), tu peux utiliser le fameux time de cette facon:
L'avantage de cette methode, c'est que tu vas pouvoir bencher a l'interieur de ton programme, en metant des time un peu de partout. Tu decouvriras de cette facon les parties qui prennent le plus de temps, et donc les parties a optimiser...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 main //celui de ton programme a bencher. { int init_time = time(); ......... ......... print ("execution timme = %d", time() - init_time); return 0; }
Le desavantage que tu as c'est que tu dois builder pour bencher...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager