Optimiser F10 en conservant la fin du rapport

This commit is contained in:
rabot
2026-10-21 11:23:07 +02:00
parent 3f98548446
commit f2eb2c2f1e
12 changed files with 590 additions and 123 deletions
Binary file not shown.
Binary file not shown.
+109 -82
View File
@@ -1,99 +1,126 @@
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
48.60 3.13 3.13 1 3.13 3.13 trier_par_montant
13.20 3.98 0.85 30000 0.00 0.00 rechercher_par_id
11.80 4.74 0.76 1 0.76 0.76 nb_paires_opposees
10.17 5.39 0.66 1 0.66 0.66 nb_facons_rendre
6.37 5.80 0.41 6017 0.00 0.00 longueur
4.97 6.12 0.32 1 0.32 0.32 meilleure_periode
1.71 6.24 0.11 1 0.11 0.11 nb_clients_distincts
1.71 6.34 0.11 1 0.11 0.11 total_par_client
0.78 6.39 0.05 1 0.05 0.05 total_par_jour
0.39 6.42 0.03 30000 0.00 0.00 categorie
0.31 6.44 0.02 _init
0.00 6.44 0.00 149998 0.00 0.00 alea
0.00 6.44 0.00 6017 0.00 0.00 ajouter_ligne
0.00 6.44 0.00 1 0.00 0.00 empreinte
0.00 6.44 0.00 1 0.00 0.00 generer_transactions
% cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 0.01 0.01 2 5.00 5.00 trier_intervalle
0.00 0.01 0.00 817430 0.00 0.00 comparer_transactions
0.00 0.01 0.00 149998 0.00 0.00 alea
0.00 0.01 0.00 30000 0.00 0.00 categorie
0.00 0.01 0.00 30000 0.00 0.00 rechercher_par_id
0.00 0.01 0.00 15066 0.00 0.00 categorie_debit
0.00 0.01 0.00 14934 0.00 0.00 categorie_credit
0.00 0.01 0.00 6017 0.00 0.00 ajouter_ligne
0.00 0.01 0.00 2 0.00 5.00 trier_par_montant
0.00 0.01 0.00 1 0.00 0.00 compter_paires_triees
0.00 0.01 0.00 1 0.00 0.00 empreinte
0.00 0.01 0.00 1 0.00 0.00 generer_transactions
0.00 0.01 0.00 1 0.00 0.00 indexer_par_id
0.00 0.01 0.00 1 0.00 0.00 meilleure_periode
0.00 0.01 0.00 1 0.00 0.00 nb_clients_distincts
0.00 0.01 0.00 1 0.00 0.00 nb_facons_rendre
0.00 0.01 0.00 1 0.00 5.00 nb_paires_opposees
0.00 0.01 0.00 1 0.00 0.00 total_par_client
0.00 0.01 0.00 1 0.00 0.00 total_par_jour
Call graph
granularity: each sample hit covers 4 byte(s) for 0.16% of 6.44 seconds
granularity: each sample hit covers 4 byte(s) for 100.00% of 0.01 seconds
index % time self children called name
<spontaneous>
[1] 99.7 0.00 6.42 main [1]
3.13 0.00 1/1 trier_par_montant [2]
0.85 0.00 30000/30000 rechercher_par_id [3]
0.76 0.00 1/1 nb_paires_opposees [4]
0.66 0.00 1/1 nb_facons_rendre [5]
0.00 0.41 6017/6017 ajouter_ligne [6]
0.32 0.00 1/1 meilleure_periode [8]
0.11 0.00 1/1 nb_clients_distincts [9]
0.11 0.00 1/1 total_par_client [10]
0.05 0.00 1/1 total_par_jour [11]
0.03 0.00 30000/30000 categorie [12]
0.00 0.00 1/1 generer_transactions [16]
0.00 0.00 1/1 empreinte [15]
119996 trier_intervalle [1]
0.01 0.00 2/2 trier_par_montant [2]
[1] 100.0 0.01 0.00 2+119996 trier_intervalle [1]
0.00 0.00 817430/817430 comparer_transactions [5]
119996 trier_intervalle [1]
-----------------------------------------------
3.13 0.00 1/1 main [1]
[2] 48.6 3.13 0.00 1 trier_par_montant [2]
-----------------------------------------------
0.85 0.00 30000/30000 main [1]
[3] 13.2 0.85 0.00 30000 rechercher_par_id [3]
-----------------------------------------------
0.76 0.00 1/1 main [1]
[4] 11.8 0.76 0.00 1 nb_paires_opposees [4]
-----------------------------------------------
266723738 nb_facons_rendre [5]
0.66 0.00 1/1 main [1]
[5] 10.2 0.66 0.00 1+266723738 nb_facons_rendre [5]
266723738 nb_facons_rendre [5]
-----------------------------------------------
0.00 0.41 6017/6017 main [1]
[6] 6.4 0.00 0.41 6017 ajouter_ligne [6]
0.41 0.00 6017/6017 longueur [7]
-----------------------------------------------
0.41 0.00 6017/6017 ajouter_ligne [6]
[7] 6.4 0.41 0.00 6017 longueur [7]
-----------------------------------------------
0.32 0.00 1/1 main [1]
[8] 5.0 0.32 0.00 1 meilleure_periode [8]
-----------------------------------------------
0.11 0.00 1/1 main [1]
[9] 1.7 0.11 0.00 1 nb_clients_distincts [9]
-----------------------------------------------
0.11 0.00 1/1 main [1]
[10] 1.7 0.11 0.00 1 total_par_client [10]
-----------------------------------------------
0.05 0.00 1/1 main [1]
[11] 0.8 0.05 0.00 1 total_par_jour [11]
-----------------------------------------------
0.03 0.00 30000/30000 main [1]
[12] 0.4 0.03 0.00 30000 categorie [12]
0.00 0.01 1/2 nb_paires_opposees [4]
0.00 0.01 1/2 main [3]
[2] 100.0 0.00 0.01 2 trier_par_montant [2]
0.01 0.00 2/2 trier_intervalle [1]
-----------------------------------------------
<spontaneous>
[13] 0.3 0.02 0.00 _init [13]
[3] 100.0 0.00 0.01 main [3]
0.00 0.01 1/1 nb_paires_opposees [4]
0.00 0.01 1/2 trier_par_montant [2]
0.00 0.00 30000/30000 rechercher_par_id [8]
0.00 0.00 30000/30000 categorie [7]
0.00 0.00 6017/6017 ajouter_ligne [11]
0.00 0.00 1/1 generer_transactions [14]
0.00 0.00 1/1 indexer_par_id [15]
0.00 0.00 1/1 nb_clients_distincts [17]
0.00 0.00 1/1 total_par_client [19]
0.00 0.00 1/1 total_par_jour [20]
0.00 0.00 1/1 meilleure_periode [16]
0.00 0.00 1/1 nb_facons_rendre [18]
0.00 0.00 1/1 empreinte [13]
-----------------------------------------------
0.00 0.00 149998/149998 generer_transactions [16]
[14] 0.0 0.00 0.00 149998 alea [14]
0.00 0.01 1/1 main [3]
[4] 50.0 0.00 0.01 1 nb_paires_opposees [4]
0.00 0.01 1/2 trier_par_montant [2]
0.00 0.00 1/1 compter_paires_triees [12]
-----------------------------------------------
0.00 0.00 1/1 main [1]
[15] 0.0 0.00 0.00 1 empreinte [15]
0.00 0.00 817430/817430 trier_intervalle [1]
[5] 0.0 0.00 0.00 817430 comparer_transactions [5]
-----------------------------------------------
0.00 0.00 1/1 main [1]
[16] 0.0 0.00 0.00 1 generer_transactions [16]
0.00 0.00 149998/149998 alea [14]
0.00 0.00 149998/149998 generer_transactions [14]
[6] 0.0 0.00 0.00 149998 alea [6]
-----------------------------------------------
0.00 0.00 30000/30000 main [3]
[7] 0.0 0.00 0.00 30000 categorie [7]
0.00 0.00 15066/15066 categorie_debit [9]
0.00 0.00 14934/14934 categorie_credit [10]
-----------------------------------------------
0.00 0.00 30000/30000 main [3]
[8] 0.0 0.00 0.00 30000 rechercher_par_id [8]
-----------------------------------------------
0.00 0.00 15066/15066 categorie [7]
[9] 0.0 0.00 0.00 15066 categorie_debit [9]
-----------------------------------------------
0.00 0.00 14934/14934 categorie [7]
[10] 0.0 0.00 0.00 14934 categorie_credit [10]
-----------------------------------------------
0.00 0.00 6017/6017 main [3]
[11] 0.0 0.00 0.00 6017 ajouter_ligne [11]
-----------------------------------------------
0.00 0.00 1/1 nb_paires_opposees [4]
[12] 0.0 0.00 0.00 1 compter_paires_triees [12]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[13] 0.0 0.00 0.00 1 empreinte [13]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[14] 0.0 0.00 0.00 1 generer_transactions [14]
0.00 0.00 149998/149998 alea [6]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[15] 0.0 0.00 0.00 1 indexer_par_id [15]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[16] 0.0 0.00 0.00 1 meilleure_periode [16]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[17] 0.0 0.00 0.00 1 nb_clients_distincts [17]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[18] 0.0 0.00 0.00 1 nb_facons_rendre [18]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[19] 0.0 0.00 0.00 1 total_par_client [19]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[20] 0.0 0.00 0.00 1 total_par_jour [20]
-----------------------------------------------
Index by function name
[13] _init [16] generer_transactions [4] nb_paires_opposees
[6] ajouter_ligne [7] longueur [3] rechercher_par_id
[14] alea [8] meilleure_periode [10] total_par_client
[12] categorie [9] nb_clients_distincts [11] total_par_jour
[15] empreinte [5] nb_facons_rendre [2] trier_par_montant
[11] ajouter_ligne [13] empreinte [8] rechercher_par_id
[6] alea [14] generer_transactions [19] total_par_client
[7] categorie [15] indexer_par_id [20] total_par_jour
[10] categorie_credit (banque.c) [16] meilleure_periode [1] trier_intervalle (banque.c)
[9] categorie_debit (banque.c) [17] nb_clients_distincts [2] trier_par_montant
[5] comparer_transactions (banque.c) [18] nb_facons_rendre
[12] compter_paires_triees (banque.c) [4] nb_paires_opposees
+126
View File
@@ -0,0 +1,126 @@
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
100.00 0.01 0.01 2 5.00 5.00 trier_intervalle
0.00 0.01 0.00 817430 0.00 0.00 comparer_transactions
0.00 0.01 0.00 149998 0.00 0.00 alea
0.00 0.01 0.00 30000 0.00 0.00 categorie
0.00 0.01 0.00 30000 0.00 0.00 rechercher_par_id
0.00 0.01 0.00 15066 0.00 0.00 categorie_debit
0.00 0.01 0.00 14934 0.00 0.00 categorie_credit
0.00 0.01 0.00 6017 0.00 0.00 ajouter_ligne
0.00 0.01 0.00 2 0.00 5.00 trier_par_montant
0.00 0.01 0.00 1 0.00 0.00 compter_paires_triees
0.00 0.01 0.00 1 0.00 0.00 empreinte
0.00 0.01 0.00 1 0.00 0.00 generer_transactions
0.00 0.01 0.00 1 0.00 0.00 indexer_par_id
0.00 0.01 0.00 1 0.00 0.00 meilleure_periode
0.00 0.01 0.00 1 0.00 0.00 nb_clients_distincts
0.00 0.01 0.00 1 0.00 0.00 nb_facons_rendre
0.00 0.01 0.00 1 0.00 5.00 nb_paires_opposees
0.00 0.01 0.00 1 0.00 0.00 total_par_client
0.00 0.01 0.00 1 0.00 0.00 total_par_jour
Call graph
granularity: each sample hit covers 4 byte(s) for 100.00% of 0.01 seconds
index % time self children called name
119996 trier_intervalle [1]
0.01 0.00 2/2 trier_par_montant [2]
[1] 100.0 0.01 0.00 2+119996 trier_intervalle [1]
0.00 0.00 817430/817430 comparer_transactions [5]
119996 trier_intervalle [1]
-----------------------------------------------
0.00 0.01 1/2 nb_paires_opposees [4]
0.00 0.01 1/2 main [3]
[2] 100.0 0.00 0.01 2 trier_par_montant [2]
0.01 0.00 2/2 trier_intervalle [1]
-----------------------------------------------
<spontaneous>
[3] 100.0 0.00 0.01 main [3]
0.00 0.01 1/1 nb_paires_opposees [4]
0.00 0.01 1/2 trier_par_montant [2]
0.00 0.00 30000/30000 rechercher_par_id [8]
0.00 0.00 30000/30000 categorie [7]
0.00 0.00 6017/6017 ajouter_ligne [11]
0.00 0.00 1/1 generer_transactions [14]
0.00 0.00 1/1 indexer_par_id [15]
0.00 0.00 1/1 nb_clients_distincts [17]
0.00 0.00 1/1 total_par_client [19]
0.00 0.00 1/1 total_par_jour [20]
0.00 0.00 1/1 meilleure_periode [16]
0.00 0.00 1/1 nb_facons_rendre [18]
0.00 0.00 1/1 empreinte [13]
-----------------------------------------------
0.00 0.01 1/1 main [3]
[4] 50.0 0.00 0.01 1 nb_paires_opposees [4]
0.00 0.01 1/2 trier_par_montant [2]
0.00 0.00 1/1 compter_paires_triees [12]
-----------------------------------------------
0.00 0.00 817430/817430 trier_intervalle [1]
[5] 0.0 0.00 0.00 817430 comparer_transactions [5]
-----------------------------------------------
0.00 0.00 149998/149998 generer_transactions [14]
[6] 0.0 0.00 0.00 149998 alea [6]
-----------------------------------------------
0.00 0.00 30000/30000 main [3]
[7] 0.0 0.00 0.00 30000 categorie [7]
0.00 0.00 15066/15066 categorie_debit [9]
0.00 0.00 14934/14934 categorie_credit [10]
-----------------------------------------------
0.00 0.00 30000/30000 main [3]
[8] 0.0 0.00 0.00 30000 rechercher_par_id [8]
-----------------------------------------------
0.00 0.00 15066/15066 categorie [7]
[9] 0.0 0.00 0.00 15066 categorie_debit [9]
-----------------------------------------------
0.00 0.00 14934/14934 categorie [7]
[10] 0.0 0.00 0.00 14934 categorie_credit [10]
-----------------------------------------------
0.00 0.00 6017/6017 main [3]
[11] 0.0 0.00 0.00 6017 ajouter_ligne [11]
-----------------------------------------------
0.00 0.00 1/1 nb_paires_opposees [4]
[12] 0.0 0.00 0.00 1 compter_paires_triees [12]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[13] 0.0 0.00 0.00 1 empreinte [13]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[14] 0.0 0.00 0.00 1 generer_transactions [14]
0.00 0.00 149998/149998 alea [6]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[15] 0.0 0.00 0.00 1 indexer_par_id [15]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[16] 0.0 0.00 0.00 1 meilleure_periode [16]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[17] 0.0 0.00 0.00 1 nb_clients_distincts [17]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[18] 0.0 0.00 0.00 1 nb_facons_rendre [18]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[19] 0.0 0.00 0.00 1 total_par_client [19]
-----------------------------------------------
0.00 0.00 1/1 main [3]
[20] 0.0 0.00 0.00 1 total_par_jour [20]
-----------------------------------------------
Index by function name
[11] ajouter_ligne [13] empreinte [8] rechercher_par_id
[6] alea [14] generer_transactions [19] total_par_client
[7] categorie [15] indexer_par_id [20] total_par_jour
[10] categorie_credit (banque.c) [16] meilleure_periode [1] trier_intervalle (banque.c)
[9] categorie_debit (banque.c) [17] nb_clients_distincts [2] trier_par_montant
[5] comparer_transactions (banque.c) [18] nb_facons_rendre
[12] compter_paires_triees (banque.c) [4] nb_paires_opposees
+135
View File
@@ -0,0 +1,135 @@
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
57.25 1.19 1.19 400 2.96 3.69 trier_intervalle
14.01 1.48 0.29 163486000 0.00 0.00 comparer_transactions
6.76 1.61 0.14 200 0.70 0.75 generer_transactions
4.35 1.71 0.09 200 0.45 10.00 banque_main
3.86 1.78 0.08 200 0.40 0.40 compter_paires_triees
3.38 1.85 0.07 _init
2.90 1.92 0.06 200 0.30 0.30 empreinte
1.93 1.96 0.04 1203400 0.00 0.00 ajouter_ligne
0.97 1.98 0.02 6000000 0.00 0.00 categorie
0.97 2.00 0.02 200 0.10 0.10 nb_clients_distincts
0.97 2.02 0.02 200 0.10 0.10 total_par_client
0.48 2.02 0.01 29999600 0.00 0.00 alea
0.48 2.04 0.01 6000000 0.00 0.00 rechercher_par_id
0.48 2.04 0.01 3013200 0.00 0.00 categorie_debit
0.48 2.06 0.01 200 0.05 0.05 indexer_par_id
0.48 2.06 0.01 200 0.05 0.05 total_par_jour
0.24 2.07 0.01 400 0.01 3.70 trier_par_montant
0.00 2.07 0.00 2986800 0.00 0.00 categorie_credit
0.00 2.07 0.00 200 0.00 0.00 meilleure_periode
0.00 2.07 0.00 200 0.00 0.00 nb_facons_rendre
0.00 2.07 0.00 200 0.00 4.10 nb_paires_opposees
Call graph
granularity: each sample hit covers 4 byte(s) for 0.48% of 2.07 seconds
index % time self children called name
0.09 1.91 200/200 main [2]
[1] 96.6 0.09 1.91 200 banque_main [1]
0.00 0.82 200/200 nb_paires_opposees [5]
0.00 0.74 200/400 trier_par_montant [3]
0.14 0.01 200/200 generer_transactions [7]
0.06 0.00 200/200 empreinte [10]
0.04 0.00 1203400/1203400 ajouter_ligne [11]
0.02 0.01 6000000/6000000 categorie [12]
0.02 0.00 200/200 nb_clients_distincts [13]
0.02 0.00 200/200 total_par_client [14]
0.01 0.00 6000000/6000000 rechercher_par_id [16]
0.01 0.00 200/200 indexer_par_id [18]
0.01 0.00 200/200 total_par_jour [19]
0.00 0.00 200/200 meilleure_periode [21]
0.00 0.00 200/200 nb_facons_rendre [22]
-----------------------------------------------
<spontaneous>
[2] 96.6 0.00 2.00 main [2]
0.09 1.91 200/200 banque_main [1]
-----------------------------------------------
0.00 0.74 200/400 nb_paires_opposees [5]
0.00 0.74 200/400 banque_main [1]
[3] 71.5 0.01 1.48 400 trier_par_montant [3]
1.19 0.29 400/400 trier_intervalle [4]
-----------------------------------------------
23999200 trier_intervalle [4]
1.19 0.29 400/400 trier_par_montant [3]
[4] 71.3 1.19 0.29 400+23999200 trier_intervalle [4]
0.29 0.00 163486000/163486000 comparer_transactions [6]
23999200 trier_intervalle [4]
-----------------------------------------------
0.00 0.82 200/200 banque_main [1]
[5] 39.6 0.00 0.82 200 nb_paires_opposees [5]
0.00 0.74 200/400 trier_par_montant [3]
0.08 0.00 200/200 compter_paires_triees [8]
-----------------------------------------------
0.29 0.00 163486000/163486000 trier_intervalle [4]
[6] 14.0 0.29 0.00 163486000 comparer_transactions [6]
-----------------------------------------------
0.14 0.01 200/200 banque_main [1]
[7] 7.2 0.14 0.01 200 generer_transactions [7]
0.01 0.00 29999600/29999600 alea [15]
-----------------------------------------------
0.08 0.00 200/200 nb_paires_opposees [5]
[8] 3.9 0.08 0.00 200 compter_paires_triees [8]
-----------------------------------------------
<spontaneous>
[9] 3.4 0.07 0.00 _init [9]
-----------------------------------------------
0.06 0.00 200/200 banque_main [1]
[10] 2.9 0.06 0.00 200 empreinte [10]
-----------------------------------------------
0.04 0.00 1203400/1203400 banque_main [1]
[11] 1.9 0.04 0.00 1203400 ajouter_ligne [11]
-----------------------------------------------
0.02 0.01 6000000/6000000 banque_main [1]
[12] 1.4 0.02 0.01 6000000 categorie [12]
0.01 0.00 3013200/3013200 categorie_debit [17]
0.00 0.00 2986800/2986800 categorie_credit [20]
-----------------------------------------------
0.02 0.00 200/200 banque_main [1]
[13] 1.0 0.02 0.00 200 nb_clients_distincts [13]
-----------------------------------------------
0.02 0.00 200/200 banque_main [1]
[14] 1.0 0.02 0.00 200 total_par_client [14]
-----------------------------------------------
0.01 0.00 29999600/29999600 generer_transactions [7]
[15] 0.5 0.01 0.00 29999600 alea [15]
-----------------------------------------------
0.01 0.00 6000000/6000000 banque_main [1]
[16] 0.5 0.01 0.00 6000000 rechercher_par_id [16]
-----------------------------------------------
0.01 0.00 3013200/3013200 categorie [12]
[17] 0.5 0.01 0.00 3013200 categorie_debit [17]
-----------------------------------------------
0.01 0.00 200/200 banque_main [1]
[18] 0.5 0.01 0.00 200 indexer_par_id [18]
-----------------------------------------------
0.01 0.00 200/200 banque_main [1]
[19] 0.5 0.01 0.00 200 total_par_jour [19]
-----------------------------------------------
0.00 0.00 2986800/2986800 categorie [12]
[20] 0.0 0.00 0.00 2986800 categorie_credit [20]
-----------------------------------------------
0.00 0.00 200/200 banque_main [1]
[21] 0.0 0.00 0.00 200 meilleure_periode [21]
-----------------------------------------------
0.00 0.00 200/200 banque_main [1]
[22] 0.0 0.00 0.00 200 nb_facons_rendre [22]
-----------------------------------------------
Index by function name
[9] _init [6] comparer_transactions (banque.c) [22] nb_facons_rendre
[11] ajouter_ligne [8] compter_paires_triees (banque.c) [5] nb_paires_opposees
[15] alea [10] empreinte [16] rechercher_par_id
[1] banque_main [7] generer_transactions [14] total_par_client
[12] categorie [18] indexer_par_id [19] total_par_jour
[20] categorie_credit (banque.c) [21] meilleure_periode [4] trier_intervalle (banque.c)
[17] categorie_debit (banque.c) [13] nb_clients_distincts [3] trier_par_montant