diff --git a/histogramme.png b/histogramme.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6e07f92367b27c2fe77374b212c57977df2a1b Binary files /dev/null and b/histogramme.png differ diff --git a/mphf.png b/mphf.png index 930f93c80568d4c4ebc7baa50bc26dcd7d62240b..7e36491dd2ecefde55f14b5e13704d61fcb0bdbc 100644 Binary files a/mphf.png and b/mphf.png differ diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py index f72c29b773b5072e33767e9fdb78bf58c2c069d7..0fbf4fe73b42a5ed6ce8ab09b2a6a96137d4cb8b 100644 --- a/tp_2_miso_dict.py +++ b/tp_2_miso_dict.py @@ -41,19 +41,31 @@ def experiment_load_factor(load_factors): def experiment_longest(): """ - TODO: que fait cette fonction + Mesure le temps d'insertion de 10 000 paires clé-valeur dans un dictionnaire Python et + renvoie un histogramme des temps d'insertion sous forme d'un tableau. """ + #Initalisation d'un dictionnaire d = {} + #Liste qui contiendra le nombre d'insertions insertion_times = [] + #On parcourt de 0 à 9999 for i in range(10000): + #on définit une clé pour chaque valeur comme étant un int sous forme de str key = str(i) + #on définit une variable valeur comme étant l'index value = i + #on démarre un chrono start_time = time.time() + #on ajoute la clé et sa valeur associée au dictionnaire d[key] = value + #on mesure le temps d'insertion en stoppant le chrono et mesurant la différence entre le début et le stop insertion_time = time.time() - start_time + #on l'ajoute à la liste des temps insertion_times.append(insertion_time) + #on crée un histogramme à l'aide de numpy et on récupère la liste des temps d'insertions sous forme de tableau frequencies = np.histogram(insertion_times)[0] + #Renvoie les valeurs return frequencies def visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies): @@ -82,4 +94,5 @@ def visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies load_factors = [0.01, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] insertion_times, num_resizes, sizes = experiment_load_factor(load_factors) frequencies = experiment_longest() +print(frequencies) visualisation(load_factors, insertion_times, num_resizes, sizes, frequencies)