Files
2026-10-21 12:34:23 +02:00

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.