Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b2f113b42 | |||
| a6ef36de94 | |||
| 8ff682cab5 |
@@ -0,0 +1,4 @@
|
||||
gprof2dot-2025.04.14
|
||||
gmon.out
|
||||
rapport.txt
|
||||
analyseur
|
||||
@@ -0,0 +1,48 @@
|
||||
# Compte rendu — TD Profiling
|
||||
|
||||
## Temps
|
||||
|
||||
| | Temps | Empreinte |
|
||||
|---|---|---|
|
||||
| Avant | 2,905 s | `1d53de903efd2b7c` |
|
||||
| Après optimisation 1 | 2,048 s | `1d53de903efd2b7c` |
|
||||
| Après optimisation 2 | 1.976 s | `1d53de903efd2b7c` |
|
||||
|
||||
## Analyse du profil
|
||||
|
||||
- `chercher_mot` prend **54 %** du temps. Elle fait une recherche linéaire et appelle `egales` 296 millions de fois.
|
||||
- `ecart_type_longueur` prend **29 %** du temps. Elle recalcule la moyenne à chaque tour de boucle.
|
||||
|
||||
## Pistes (par gain attendu)
|
||||
|
||||
1. `chercher_mot` : vérifier la première lettre avant d'appeler `egales`.
|
||||
2. `ecart_type_longueur` : calculer la moyenne une seule fois.
|
||||
|
||||
## Optimisation 1 : `chercher_mot`
|
||||
|
||||
```c
|
||||
if (table[i].mot[0] == mot[0] && egales(table[i].mot, mot))
|
||||
```
|
||||
|
||||
On compare d'abord la première lettre. Si elle diffère, `&&` n'appelle pas `egales`.
|
||||
|
||||
- Appels à `egales` depuis `chercher_mot` : 296 M → 23 M (÷ 13)
|
||||
- Temps total du profil : 2,22 s → 1,87 s (−16 %)
|
||||
|
||||
La boucle parcourt toujours toute la table : la complexité ne change pas, seul le nombre d'appels baisse.
|
||||
|
||||
## Optimisation 2 : `ecart_type_longueur`
|
||||
|
||||
```c
|
||||
double moyenne = longueur_moyenne(table, n); // avant la boucle
|
||||
for (int i = 0; i < n; i++) {
|
||||
double ecart = longueur(table[i].mot) - moyenne;
|
||||
```
|
||||
|
||||
- Appels à `longueur_moyenne` : 5 867 → 2
|
||||
- Appels à `longueur` : 36 M → 1,6 M
|
||||
- Temps total du profil : 1,87 s → 1,50 s (−20 %)
|
||||
|
||||
## Bilan
|
||||
|
||||
Temps total du profil : **2,22 s → 1,50 s (−32 %)**.
|
||||
+4
-2
@@ -238,7 +238,7 @@ int est_mot_vide(const char *mot)
|
||||
int chercher_mot(Entree *table, int nb_entrees, const char *mot)
|
||||
{
|
||||
for (int i = 0; i < nb_entrees; i++) {
|
||||
if (egales(table[i].mot, mot))
|
||||
if (table[i].mot[0] == mot[0] && egales(table[i].mot, mot))
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
@@ -316,11 +316,13 @@ double longueur_moyenne(const Entree *table, int n)
|
||||
return (double)total / n;
|
||||
}
|
||||
|
||||
|
||||
double ecart_type_longueur(const Entree *table, int n)
|
||||
{
|
||||
double somme = 0.0;
|
||||
double moyenne = longueur_moyenne(table, n);
|
||||
for (int i = 0; i < n; i++) {
|
||||
double ecart = longueur(table[i].mot) - longueur_moyenne(table, n);
|
||||
double ecart = longueur(table[i].mot) - moyenne;
|
||||
somme += ecart * ecart;
|
||||
}
|
||||
return somme / n; /* variance ; la racine est prise dans main */
|
||||
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
Flat profile:
|
||||
|
||||
Each sample counts as 0.01 seconds.
|
||||
% cumulative self self total
|
||||
time seconds seconds calls ms/call ms/call name
|
||||
34.76 0.65 0.65 150182 0.00 0.01 chercher_mot
|
||||
24.06 1.10 0.45 36009819 0.00 0.00 longueur
|
||||
14.44 1.37 0.27 35261718 0.00 0.00 egales
|
||||
6.95 1.50 0.13 17202045 0.00 0.00 doit_echanger
|
||||
5.35 1.60 0.10 12172087 0.00 0.00 comparer
|
||||
4.28 1.68 0.08 5867 0.01 0.09 longueur_moyenne
|
||||
4.28 1.76 0.08 1 80.00 310.00 trier_entrees
|
||||
1.60 1.79 0.03 21746 0.00 0.00 normaliser_ligne
|
||||
1.07 1.81 0.02 250000 0.00 0.00 est_mot_vide
|
||||
1.07 1.83 0.02 1 20.00 20.00 analyser_bigrammes
|
||||
1.07 1.85 0.02 1 20.00 20.00 generer_texte
|
||||
0.53 1.86 0.01 32667 0.00 0.00 copier
|
||||
0.53 1.87 0.01 21746 0.00 0.04 compter_mots_ligne
|
||||
0.00 1.87 0.00 5297256 0.00 0.00 est_lettre
|
||||
0.00 1.87 0.00 1266663 0.00 0.00 en_minuscule
|
||||
0.00 1.87 0.00 928117 0.00 0.00 alea
|
||||
0.00 1.87 0.00 150182 0.00 0.01 compter_mot
|
||||
0.00 1.87 0.00 26801 0.00 0.00 ajouter
|
||||
0.00 1.87 0.00 1 0.00 1.87 construire_rapport
|
||||
0.00 1.87 0.00 1 0.00 0.00 decouper_lignes
|
||||
0.00 1.87 0.00 1 0.00 510.07 ecart_type_longueur
|
||||
0.00 1.87 0.00 1 0.00 0.00 empreinte
|
||||
0.00 1.87 0.00 1 0.00 6.67 generer_vocabulaire
|
||||
0.00 1.87 0.00 1 0.00 0.00 racine
|
||||
|
||||
Call graph
|
||||
|
||||
|
||||
granularity: each sample hit covers 4 byte(s) for 0.53% of 1.87 seconds
|
||||
|
||||
index % time self children called name
|
||||
<spontaneous>
|
||||
[1] 100.0 0.00 1.87 main [1]
|
||||
0.01 0.94 21746/21746 compter_mots_ligne [2]
|
||||
0.00 0.51 1/1 ecart_type_longueur [6]
|
||||
0.08 0.23 1/1 trier_entrees [8]
|
||||
0.03 0.02 21746/21746 normaliser_ligne [13]
|
||||
0.02 0.00 1/1 generer_texte [15]
|
||||
0.02 0.00 1/1 analyser_bigrammes [14]
|
||||
0.00 0.01 1/1 generer_vocabulaire [18]
|
||||
0.00 0.00 1/1 construire_rapport [19]
|
||||
0.00 0.00 1/5867 longueur_moyenne [5]
|
||||
0.00 0.00 1/1 decouper_lignes [23]
|
||||
0.00 0.00 1/1 racine [25]
|
||||
0.00 0.00 1/1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.01 0.94 21746/21746 main [1]
|
||||
[2] 50.9 0.01 0.94 21746 compter_mots_ligne [2]
|
||||
0.00 0.83 150182/150182 compter_mot [3]
|
||||
0.02 0.09 250000/250000 est_mot_vide [11]
|
||||
-----------------------------------------------
|
||||
0.00 0.83 150182/150182 compter_mots_ligne [2]
|
||||
[3] 44.4 0.00 0.83 150182 compter_mot [3]
|
||||
0.65 0.18 150182/150182 chercher_mot [4]
|
||||
0.00 0.00 5866/32667 copier [16]
|
||||
-----------------------------------------------
|
||||
0.65 0.18 150182/150182 compter_mot [3]
|
||||
[4] 44.3 0.65 0.18 150182 chercher_mot [4]
|
||||
0.18 0.00 23216047/35261718 egales [9]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/5867 main [1]
|
||||
0.08 0.43 5866/5867 ecart_type_longueur [6]
|
||||
[5] 27.3 0.08 0.43 5867 longueur_moyenne [5]
|
||||
0.43 0.00 34415822/36009819 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.00 0.51 1/1 main [1]
|
||||
[6] 27.3 0.00 0.51 1 ecart_type_longueur [6]
|
||||
0.08 0.43 5866/5867 longueur_moyenne [5]
|
||||
0.00 0.00 5866/36009819 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/36009819 ecart_type_longueur [6]
|
||||
0.00 0.00 26801/36009819 ajouter [17]
|
||||
0.02 0.00 1561330/36009819 normaliser_ligne [13]
|
||||
0.43 0.00 34415822/36009819 longueur_moyenne [5]
|
||||
[7] 24.1 0.45 0.00 36009819 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.08 0.23 1/1 main [1]
|
||||
[8] 16.6 0.08 0.23 1 trier_entrees [8]
|
||||
0.13 0.10 17202045/17202045 doit_echanger [10]
|
||||
-----------------------------------------------
|
||||
0.09 0.00 12045671/35261718 est_mot_vide [11]
|
||||
0.18 0.00 23216047/35261718 chercher_mot [4]
|
||||
[9] 14.4 0.27 0.00 35261718 egales [9]
|
||||
-----------------------------------------------
|
||||
0.13 0.10 17202045/17202045 trier_entrees [8]
|
||||
[10] 12.3 0.13 0.10 17202045 doit_echanger [10]
|
||||
0.10 0.00 12172087/12172087 comparer [12]
|
||||
-----------------------------------------------
|
||||
0.02 0.09 250000/250000 compter_mots_ligne [2]
|
||||
[11] 6.0 0.02 0.09 250000 est_mot_vide [11]
|
||||
0.09 0.00 12045671/35261718 egales [9]
|
||||
-----------------------------------------------
|
||||
0.10 0.00 12172087/12172087 doit_echanger [10]
|
||||
[12] 5.3 0.10 0.00 12172087 comparer [12]
|
||||
-----------------------------------------------
|
||||
0.03 0.02 21746/21746 main [1]
|
||||
[13] 2.6 0.03 0.02 21746 normaliser_ligne [13]
|
||||
0.02 0.00 1561330/36009819 longueur [7]
|
||||
0.00 0.00 1539584/5297256 est_lettre [20]
|
||||
0.00 0.00 1266663/1266663 en_minuscule [21]
|
||||
-----------------------------------------------
|
||||
0.02 0.00 1/1 main [1]
|
||||
[14] 1.1 0.02 0.00 1 analyser_bigrammes [14]
|
||||
0.00 0.00 3757672/5297256 est_lettre [20]
|
||||
-----------------------------------------------
|
||||
0.02 0.00 1/1 main [1]
|
||||
[15] 1.1 0.02 0.00 1 generer_texte [15]
|
||||
0.00 0.00 900183/928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/32667 compter_mot [3]
|
||||
0.01 0.00 26801/32667 ajouter [17]
|
||||
[16] 0.5 0.01 0.00 32667 copier [16]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5867/26801 construire_rapport [19]
|
||||
0.00 0.01 20934/26801 generer_vocabulaire [18]
|
||||
[17] 0.5 0.00 0.01 26801 ajouter [17]
|
||||
0.01 0.00 26801/32667 copier [16]
|
||||
0.00 0.00 26801/36009819 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.00 0.01 1/1 main [1]
|
||||
[18] 0.4 0.00 0.01 1 generer_vocabulaire [18]
|
||||
0.00 0.01 20934/26801 ajouter [17]
|
||||
0.00 0.00 27934/928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[19] 0.1 0.00 0.00 1 construire_rapport [19]
|
||||
0.00 0.00 5867/26801 ajouter [17]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1539584/5297256 normaliser_ligne [13]
|
||||
0.00 0.00 3757672/5297256 analyser_bigrammes [14]
|
||||
[20] 0.0 0.00 0.00 5297256 est_lettre [20]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1266663/1266663 normaliser_ligne [13]
|
||||
[21] 0.0 0.00 0.00 1266663 en_minuscule [21]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 27934/928117 generer_vocabulaire [18]
|
||||
0.00 0.00 900183/928117 generer_texte [15]
|
||||
[22] 0.0 0.00 0.00 928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[23] 0.0 0.00 0.00 1 decouper_lignes [23]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[24] 0.0 0.00 0.00 1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[25] 0.0 0.00 0.00 1 racine [25]
|
||||
-----------------------------------------------
|
||||
|
||||
Index by function name
|
||||
|
||||
[17] ajouter [16] copier [11] est_mot_vide
|
||||
[22] alea [23] decouper_lignes [15] generer_texte
|
||||
[14] analyser_bigrammes [10] doit_echanger [18] generer_vocabulaire
|
||||
[4] chercher_mot [6] ecart_type_longueur [7] longueur
|
||||
[12] comparer [9] egales [5] longueur_moyenne
|
||||
[3] compter_mot [24] empreinte [13] normaliser_ligne
|
||||
[2] compter_mots_ligne [21] en_minuscule [25] racine
|
||||
[19] construire_rapport [20] est_lettre [8] trier_entrees
|
||||
@@ -0,0 +1,164 @@
|
||||
Flat profile:
|
||||
|
||||
Each sample counts as 0.01 seconds.
|
||||
% cumulative self self total
|
||||
time seconds seconds calls ms/call ms/call name
|
||||
40.67 0.61 0.61 150182 0.00 0.01 chercher_mot
|
||||
18.67 0.89 0.28 1605729 0.00 0.00 longueur
|
||||
16.67 1.14 0.25 35261718 0.00 0.00 egales
|
||||
7.67 1.25 0.12 12172087 0.00 0.00 comparer
|
||||
6.00 1.34 0.09 17202045 0.00 0.00 doit_echanger
|
||||
5.33 1.43 0.08 1 80.00 285.00 trier_entrees
|
||||
1.33 1.45 0.02 1 20.00 27.09 analyser_bigrammes
|
||||
0.67 1.46 0.01 5297256 0.00 0.00 est_lettre
|
||||
0.67 1.47 0.01 1266663 0.00 0.00 en_minuscule
|
||||
0.67 1.48 0.01 250000 0.00 0.00 est_mot_vide
|
||||
0.67 1.49 0.01 1 10.00 10.00 decouper_lignes
|
||||
0.67 1.50 0.01 1 10.00 10.00 generer_texte
|
||||
0.33 1.50 0.01 32667 0.00 0.00 copier
|
||||
0.00 1.50 0.00 928117 0.00 0.00 alea
|
||||
0.00 1.50 0.00 150182 0.00 0.01 compter_mot
|
||||
0.00 1.50 0.00 26801 0.00 0.00 ajouter
|
||||
0.00 1.50 0.00 21746 0.00 0.04 compter_mots_ligne
|
||||
0.00 1.50 0.00 21746 0.00 0.01 normaliser_ligne
|
||||
0.00 1.50 0.00 2 0.00 1.02 longueur_moyenne
|
||||
0.00 1.50 0.00 1 0.00 1.92 construire_rapport
|
||||
0.00 1.50 0.00 1 0.00 2.05 ecart_type_longueur
|
||||
0.00 1.50 0.00 1 0.00 0.00 empreinte
|
||||
0.00 1.50 0.00 1 0.00 6.85 generer_vocabulaire
|
||||
0.00 1.50 0.00 1 0.00 0.00 racine
|
||||
|
||||
Call graph
|
||||
|
||||
|
||||
granularity: each sample hit covers 4 byte(s) for 0.67% of 1.50 seconds
|
||||
|
||||
index % time self children called name
|
||||
<spontaneous>
|
||||
[1] 100.0 0.00 1.50 main [1]
|
||||
0.00 0.87 21746/21746 compter_mots_ligne [2]
|
||||
0.00 0.29 21746/21746 normaliser_ligne [5]
|
||||
0.08 0.20 1/1 trier_entrees [6]
|
||||
0.02 0.01 1/1 analyser_bigrammes [12]
|
||||
0.01 0.00 1/1 generer_texte [16]
|
||||
0.01 0.00 1/1 decouper_lignes [15]
|
||||
0.00 0.01 1/1 generer_vocabulaire [18]
|
||||
0.00 0.00 1/1 ecart_type_longueur [21]
|
||||
0.00 0.00 1/1 construire_rapport [22]
|
||||
0.00 0.00 1/2 longueur_moyenne [20]
|
||||
0.00 0.00 1/1 racine [25]
|
||||
0.00 0.00 1/1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.00 0.87 21746/21746 main [1]
|
||||
[2] 58.1 0.00 0.87 21746 compter_mots_ligne [2]
|
||||
0.00 0.78 150182/150182 compter_mot [3]
|
||||
0.01 0.09 250000/250000 est_mot_vide [11]
|
||||
-----------------------------------------------
|
||||
0.00 0.78 150182/150182 compter_mots_ligne [2]
|
||||
[3] 51.7 0.00 0.78 150182 compter_mot [3]
|
||||
0.61 0.16 150182/150182 chercher_mot [4]
|
||||
0.00 0.00 5866/32667 copier [19]
|
||||
-----------------------------------------------
|
||||
0.61 0.16 150182/150182 compter_mot [3]
|
||||
[4] 51.6 0.61 0.16 150182 chercher_mot [4]
|
||||
0.16 0.00 23216047/35261718 egales [8]
|
||||
-----------------------------------------------
|
||||
0.00 0.29 21746/21746 main [1]
|
||||
[5] 19.0 0.00 0.29 21746 normaliser_ligne [5]
|
||||
0.27 0.00 1561330/1605729 longueur [7]
|
||||
0.01 0.00 1266663/1266663 en_minuscule [14]
|
||||
0.00 0.00 1539584/5297256 est_lettre [13]
|
||||
-----------------------------------------------
|
||||
0.08 0.20 1/1 main [1]
|
||||
[6] 19.0 0.08 0.20 1 trier_entrees [6]
|
||||
0.09 0.12 17202045/17202045 doit_echanger [9]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/1605729 ecart_type_longueur [21]
|
||||
0.00 0.00 11732/1605729 longueur_moyenne [20]
|
||||
0.00 0.00 26801/1605729 ajouter [17]
|
||||
0.27 0.00 1561330/1605729 normaliser_ligne [5]
|
||||
[7] 18.7 0.28 0.00 1605729 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.09 0.00 12045671/35261718 est_mot_vide [11]
|
||||
0.16 0.00 23216047/35261718 chercher_mot [4]
|
||||
[8] 16.7 0.25 0.00 35261718 egales [8]
|
||||
-----------------------------------------------
|
||||
0.09 0.12 17202045/17202045 trier_entrees [6]
|
||||
[9] 13.7 0.09 0.12 17202045 doit_echanger [9]
|
||||
0.12 0.00 12172087/12172087 comparer [10]
|
||||
-----------------------------------------------
|
||||
0.12 0.00 12172087/12172087 doit_echanger [9]
|
||||
[10] 7.7 0.12 0.00 12172087 comparer [10]
|
||||
-----------------------------------------------
|
||||
0.01 0.09 250000/250000 compter_mots_ligne [2]
|
||||
[11] 6.4 0.01 0.09 250000 est_mot_vide [11]
|
||||
0.09 0.00 12045671/35261718 egales [8]
|
||||
-----------------------------------------------
|
||||
0.02 0.01 1/1 main [1]
|
||||
[12] 1.8 0.02 0.01 1 analyser_bigrammes [12]
|
||||
0.01 0.00 3757672/5297256 est_lettre [13]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1539584/5297256 normaliser_ligne [5]
|
||||
0.01 0.00 3757672/5297256 analyser_bigrammes [12]
|
||||
[13] 0.7 0.01 0.00 5297256 est_lettre [13]
|
||||
-----------------------------------------------
|
||||
0.01 0.00 1266663/1266663 normaliser_ligne [5]
|
||||
[14] 0.7 0.01 0.00 1266663 en_minuscule [14]
|
||||
-----------------------------------------------
|
||||
0.01 0.00 1/1 main [1]
|
||||
[15] 0.7 0.01 0.00 1 decouper_lignes [15]
|
||||
-----------------------------------------------
|
||||
0.01 0.00 1/1 main [1]
|
||||
[16] 0.7 0.01 0.00 1 generer_texte [16]
|
||||
0.00 0.00 900183/928117 alea [23]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5867/26801 construire_rapport [22]
|
||||
0.00 0.01 20934/26801 generer_vocabulaire [18]
|
||||
[17] 0.6 0.00 0.01 26801 ajouter [17]
|
||||
0.00 0.00 26801/1605729 longueur [7]
|
||||
0.00 0.00 26801/32667 copier [19]
|
||||
-----------------------------------------------
|
||||
0.00 0.01 1/1 main [1]
|
||||
[18] 0.5 0.00 0.01 1 generer_vocabulaire [18]
|
||||
0.00 0.01 20934/26801 ajouter [17]
|
||||
0.00 0.00 27934/928117 alea [23]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/32667 compter_mot [3]
|
||||
0.00 0.00 26801/32667 ajouter [17]
|
||||
[19] 0.3 0.01 0.00 32667 copier [19]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/2 ecart_type_longueur [21]
|
||||
0.00 0.00 1/2 main [1]
|
||||
[20] 0.1 0.00 0.00 2 longueur_moyenne [20]
|
||||
0.00 0.00 11732/1605729 longueur [7]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[21] 0.1 0.00 0.00 1 ecart_type_longueur [21]
|
||||
0.00 0.00 5866/1605729 longueur [7]
|
||||
0.00 0.00 1/2 longueur_moyenne [20]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[22] 0.1 0.00 0.00 1 construire_rapport [22]
|
||||
0.00 0.00 5867/26801 ajouter [17]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 27934/928117 generer_vocabulaire [18]
|
||||
0.00 0.00 900183/928117 generer_texte [16]
|
||||
[23] 0.0 0.00 0.00 928117 alea [23]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[24] 0.0 0.00 0.00 1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[25] 0.0 0.00 0.00 1 racine [25]
|
||||
-----------------------------------------------
|
||||
|
||||
Index by function name
|
||||
|
||||
[17] ajouter [19] copier [11] est_mot_vide
|
||||
[23] alea [15] decouper_lignes [16] generer_texte
|
||||
[12] analyser_bigrammes [9] doit_echanger [18] generer_vocabulaire
|
||||
[4] chercher_mot [21] ecart_type_longueur [7] longueur
|
||||
[10] comparer [8] egales [20] longueur_moyenne
|
||||
[3] compter_mot [24] empreinte [5] normaliser_ligne
|
||||
[2] compter_mots_ligne [14] en_minuscule [25] racine
|
||||
[22] construire_rapport [13] est_lettre [6] trier_entrees
|
||||
@@ -0,0 +1,164 @@
|
||||
Flat profile:
|
||||
|
||||
Each sample counts as 0.01 seconds.
|
||||
% cumulative self self total
|
||||
time seconds seconds calls ms/call ms/call name
|
||||
40.54 0.90 0.90 308701874 0.00 0.00 egales
|
||||
27.48 1.51 0.61 36009819 0.00 0.00 longueur
|
||||
15.32 1.85 0.34 150182 0.00 0.01 chercher_mot
|
||||
3.83 1.94 0.09 12172087 0.00 0.00 comparer
|
||||
3.60 2.02 0.08 17202045 0.00 0.00 doit_echanger
|
||||
2.70 2.08 0.06 5867 0.01 0.11 longueur_moyenne
|
||||
2.70 2.13 0.06 1 60.00 225.00 trier_entrees
|
||||
0.90 2.15 0.02 21746 0.00 0.06 compter_mots_ligne
|
||||
0.90 2.17 0.02 1 20.00 27.09 analyser_bigrammes
|
||||
0.68 2.19 0.01 32667 0.00 0.00 copier
|
||||
0.45 2.20 0.01 5297256 0.00 0.00 est_lettre
|
||||
0.45 2.21 0.01 250000 0.00 0.00 est_mot_vide
|
||||
0.45 2.22 0.01 1 10.00 10.00 generer_texte
|
||||
0.00 2.22 0.00 1266663 0.00 0.00 en_minuscule
|
||||
0.00 2.22 0.00 928117 0.00 0.00 alea
|
||||
0.00 2.22 0.00 150182 0.00 0.01 compter_mot
|
||||
0.00 2.22 0.00 26801 0.00 0.00 ajouter
|
||||
0.00 2.22 0.00 21746 0.00 0.00 normaliser_ligne
|
||||
0.00 2.22 0.00 1 0.00 2.79 construire_rapport
|
||||
0.00 2.22 0.00 1 0.00 0.00 decouper_lignes
|
||||
0.00 2.22 0.00 1 0.00 642.99 ecart_type_longueur
|
||||
0.00 2.22 0.00 1 0.00 0.00 empreinte
|
||||
0.00 2.22 0.00 1 0.00 9.97 generer_vocabulaire
|
||||
0.00 2.22 0.00 1 0.00 0.00 racine
|
||||
|
||||
Call graph
|
||||
|
||||
|
||||
granularity: each sample hit covers 4 byte(s) for 0.45% of 2.22 seconds
|
||||
|
||||
index % time self children called name
|
||||
<spontaneous>
|
||||
[1] 100.0 0.00 2.22 main [1]
|
||||
0.02 1.25 21746/21746 compter_mots_ligne [2]
|
||||
0.00 0.64 1/1 ecart_type_longueur [7]
|
||||
0.06 0.17 1/1 trier_entrees [9]
|
||||
0.00 0.03 21746/21746 normaliser_ligne [13]
|
||||
0.02 0.01 1/1 analyser_bigrammes [14]
|
||||
0.01 0.00 1/1 generer_texte [18]
|
||||
0.00 0.01 1/1 generer_vocabulaire [19]
|
||||
0.00 0.00 1/1 construire_rapport [20]
|
||||
0.00 0.00 1/5867 longueur_moyenne [6]
|
||||
0.00 0.00 1/1 decouper_lignes [23]
|
||||
0.00 0.00 1/1 racine [25]
|
||||
0.00 0.00 1/1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.02 1.25 21746/21746 main [1]
|
||||
[2] 57.3 0.02 1.25 21746 compter_mots_ligne [2]
|
||||
0.00 1.21 150182/150182 compter_mot [3]
|
||||
0.01 0.04 250000/250000 est_mot_vide [12]
|
||||
-----------------------------------------------
|
||||
0.00 1.21 150182/150182 compter_mots_ligne [2]
|
||||
[3] 54.4 0.00 1.21 150182 compter_mot [3]
|
||||
0.34 0.86 150182/150182 chercher_mot [4]
|
||||
0.00 0.00 5866/32667 copier [15]
|
||||
-----------------------------------------------
|
||||
0.34 0.86 150182/150182 compter_mot [3]
|
||||
[4] 54.3 0.34 0.86 150182 chercher_mot [4]
|
||||
0.86 0.00 296656203/308701874 egales [5]
|
||||
-----------------------------------------------
|
||||
0.04 0.00 12045671/308701874 est_mot_vide [12]
|
||||
0.86 0.00 296656203/308701874 chercher_mot [4]
|
||||
[5] 40.5 0.90 0.00 308701874 egales [5]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/5867 main [1]
|
||||
0.06 0.58 5866/5867 ecart_type_longueur [7]
|
||||
[6] 29.0 0.06 0.58 5867 longueur_moyenne [6]
|
||||
0.58 0.00 34415822/36009819 longueur [8]
|
||||
-----------------------------------------------
|
||||
0.00 0.64 1/1 main [1]
|
||||
[7] 29.0 0.00 0.64 1 ecart_type_longueur [7]
|
||||
0.06 0.58 5866/5867 longueur_moyenne [6]
|
||||
0.00 0.00 5866/36009819 longueur [8]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/36009819 ecart_type_longueur [7]
|
||||
0.00 0.00 26801/36009819 ajouter [16]
|
||||
0.03 0.00 1561330/36009819 normaliser_ligne [13]
|
||||
0.58 0.00 34415822/36009819 longueur_moyenne [6]
|
||||
[8] 27.5 0.61 0.00 36009819 longueur [8]
|
||||
-----------------------------------------------
|
||||
0.06 0.17 1/1 main [1]
|
||||
[9] 10.1 0.06 0.17 1 trier_entrees [9]
|
||||
0.08 0.09 17202045/17202045 doit_echanger [10]
|
||||
-----------------------------------------------
|
||||
0.08 0.09 17202045/17202045 trier_entrees [9]
|
||||
[10] 7.4 0.08 0.09 17202045 doit_echanger [10]
|
||||
0.09 0.00 12172087/12172087 comparer [11]
|
||||
-----------------------------------------------
|
||||
0.09 0.00 12172087/12172087 doit_echanger [10]
|
||||
[11] 3.8 0.09 0.00 12172087 comparer [11]
|
||||
-----------------------------------------------
|
||||
0.01 0.04 250000/250000 compter_mots_ligne [2]
|
||||
[12] 2.0 0.01 0.04 250000 est_mot_vide [12]
|
||||
0.04 0.00 12045671/308701874 egales [5]
|
||||
-----------------------------------------------
|
||||
0.00 0.03 21746/21746 main [1]
|
||||
[13] 1.3 0.00 0.03 21746 normaliser_ligne [13]
|
||||
0.03 0.00 1561330/36009819 longueur [8]
|
||||
0.00 0.00 1539584/5297256 est_lettre [17]
|
||||
0.00 0.00 1266663/1266663 en_minuscule [21]
|
||||
-----------------------------------------------
|
||||
0.02 0.01 1/1 main [1]
|
||||
[14] 1.2 0.02 0.01 1 analyser_bigrammes [14]
|
||||
0.01 0.00 3757672/5297256 est_lettre [17]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5866/32667 compter_mot [3]
|
||||
0.01 0.00 26801/32667 ajouter [16]
|
||||
[15] 0.7 0.01 0.00 32667 copier [15]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 5867/26801 construire_rapport [20]
|
||||
0.00 0.01 20934/26801 generer_vocabulaire [19]
|
||||
[16] 0.6 0.00 0.01 26801 ajouter [16]
|
||||
0.01 0.00 26801/32667 copier [15]
|
||||
0.00 0.00 26801/36009819 longueur [8]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1539584/5297256 normaliser_ligne [13]
|
||||
0.01 0.00 3757672/5297256 analyser_bigrammes [14]
|
||||
[17] 0.5 0.01 0.00 5297256 est_lettre [17]
|
||||
-----------------------------------------------
|
||||
0.01 0.00 1/1 main [1]
|
||||
[18] 0.5 0.01 0.00 1 generer_texte [18]
|
||||
0.00 0.00 900183/928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.01 1/1 main [1]
|
||||
[19] 0.4 0.00 0.01 1 generer_vocabulaire [19]
|
||||
0.00 0.01 20934/26801 ajouter [16]
|
||||
0.00 0.00 27934/928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[20] 0.1 0.00 0.00 1 construire_rapport [20]
|
||||
0.00 0.00 5867/26801 ajouter [16]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1266663/1266663 normaliser_ligne [13]
|
||||
[21] 0.0 0.00 0.00 1266663 en_minuscule [21]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 27934/928117 generer_vocabulaire [19]
|
||||
0.00 0.00 900183/928117 generer_texte [18]
|
||||
[22] 0.0 0.00 0.00 928117 alea [22]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[23] 0.0 0.00 0.00 1 decouper_lignes [23]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[24] 0.0 0.00 0.00 1 empreinte [24]
|
||||
-----------------------------------------------
|
||||
0.00 0.00 1/1 main [1]
|
||||
[25] 0.0 0.00 0.00 1 racine [25]
|
||||
-----------------------------------------------
|
||||
|
||||
Index by function name
|
||||
|
||||
[16] ajouter [15] copier [12] est_mot_vide
|
||||
[22] alea [23] decouper_lignes [18] generer_texte
|
||||
[14] analyser_bigrammes [10] doit_echanger [19] generer_vocabulaire
|
||||
[4] chercher_mot [7] ecart_type_longueur [8] longueur
|
||||
[11] comparer [5] egales [6] longueur_moyenne
|
||||
[3] compter_mot [24] empreinte [13] normaliser_ligne
|
||||
[2] compter_mots_ligne [21] en_minuscule [25] racine
|
||||
[20] construire_rapport [17] est_lettre [9] trier_entrees
|
||||
Reference in New Issue
Block a user