3.3 KiB
Groupe :
- Karl FRAMERY
- Ozvann ABRAHAM
CPU: Intel(R) Pentium(R) Silver N5030 (4) @ 3.10 GHz
1.Mesurer
gcc -O2 banque.c -o banque && time ./banque
Empreinte : ff68d260a7a58441
real 0m4,793s
user 0m4,772s
sys 0m0,005s
Le temps d'éxecution du programme est de 4.793 seconde et l'emprunte est : [ff68d260a7a58441]
2.Profiler
La fonction F1 : <trier_par_montant> est d'une complexité [O(n²)] pour une utilisation du temps de 43.77% du temps totale d'exécution pour 1 call.
La fonction F7 : <nb_paires_opposees> est d'une complexité [O(n²)] pour une utilisation du temps de 15.32% du temps totale d'exécution pour 1 call.
La fonction F8 : <nb_facons_rendre> est d'une complexité [O(2^n)] pour une utilisation du temps de 12.84% du temps totale d'exécution pour 1 call.
La fonction F6 : <rechercher_par_id> est d'une complexité [O(n)] pour une utilisation du temps de 12.21% du temps totale d'exécution pour 30000 calls.
On peut voir que les fonctions les plus coûteuse ont les plus grande complexité.
3.Calculer
Fonction F1
La complexité de la fonction est de [O(n²)] pour un M de 6
Fonction F2
La complexité de la fonction est de [O(n²)] pour un M de 5
Fonction F3
La complexité de la fonction est de [O(n²)] pour un M de 4
Fonction F4
La complexité de la fonction est de [O(n²)] pour un M de 4
Fonction F5
La complexité de la fonction est de [O(n³)] pour un M de 5
Fonction F6
La complexité de la fonction est de [O(n)] pour un M de 3
Fonction F7
La complexité de la fonction est de [O(n²)] pour un M de 4
Fonction F8
La complexité de la fonction est de [O(2^n)] pour un M de 4
Fonction F9
La complexité de la fonction est de [O(1)] pour un M de 14
Fonction F10
La complexité de la fonction est de [O(n)] pour un M de 2
4. Optimisation
-
Optimisation de la fonction 1 nom du commit : "EXO 4 - optimisation F1". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 2 nom du commit : "fonction 2 : O(n + C)". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 3 nom du commit : "EXO 4 - optimisation F3". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 4 nom du commit : "fonction 4 : O(n + J)". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 5 nom du commit : "EXO 4 - optimisation F5". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 6 nom du commit : "". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 7 nom du commit : "". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 8 nom du commit : "fonction 8 : O(S x k)". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 9 nom du commit : "". Emprunte : ff68d260a7a58441
-
Optimisation de la fonction 10 nom du commit : "fonction 10 : O(L)". Emprunte : ff68d260a7a58441
Le temps minimal atteint avec les modification est de 1.651 secondes.