diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py index 73849c5f7f9353f55b7dc2e04b9fa794762ded65..c80547823c559617c38cbaa2accf272e1e9de4cc 100644 --- a/tp_2_miso_mphf.py +++ b/tp_2_miso_mphf.py @@ -154,7 +154,7 @@ def compare_taille(n_max, fichier_sortie): tableau, mphf = create_hash_table(set_kmer,n) n_values.append(n) - table_size.append(sys.getsizeof(tableau)+sys.getsizeof(mphf)) # pourquoi ici on ne mesure pas juste la taille en mémoire du tableau ? + table_size.append(sys.getsizeof(tableau)+sys.getsizeof(mphf)) # Comme le tableau nécessite une MPHF pour être généré, il est nécessaire de prendre en compte la taille de celle-ci dict_size.append(sys.getsizeof(set_kmer)) plt.plot(n_values, table_size, label='Table avec MPHF') @@ -167,5 +167,6 @@ def compare_taille(n_max, fichier_sortie): plt.savefig(fichier_sortie) plt.close() -# dé-commenter quand vous êtes prêts, expliquer les résultats -#compare_taille(10000,"mphf.png") +# Le dictionnaire a une gestion de l'espace en "escaliers", car lorsqu'il est plein il double son espace alloué pour réserver un grand nombre d'espcaes vides qui vont être remplis au fur et à mesure. Puis, lorsque cet espace vide atteint un certain seuil de remplissage, la taille double de nouveau. +# La table avec MPHF a une gestion de l'espace linéaire car elle ne réserve pas d'espace vide. En effet, la table est créée sur mesure pour avoir exactement l'espace requis pour stocker tous les élements. +compare_taille(10000,"mphf.png")