From b453f695f20b490624d1d64415b12824b46b027e Mon Sep 17 00:00:00 2001 From: University <younes@youness-MacBook-Pro.local> Date: Thu, 27 Feb 2025 11:50:38 +0100 Subject: [PATCH] =?UTF-8?q?=C3=89tude=20du=20facteur=20de=20charge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tp_2_miso_dict.py | 22 ++++++++++++++++++++-- tp_2_miso_mphf.py | 5 ++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/tp_2_miso_dict.py b/tp_2_miso_dict.py index 98d2a0c..bc8cd4d 100644 --- a/tp_2_miso_dict.py +++ b/tp_2_miso_dict.py @@ -11,8 +11,26 @@ def experiment_load_factor(load_factors): """ Étude du facteur de charge """ - return [],[],[] - + insertion_times = [] + resizing = [] + memory_sizes = [] + for i in load_factors: + d = {} + start_time = time.perf_counter() + resizing_count = 0 + last_memory_size = sys.getsizeof(d) + num_elements = int(i*100) + for j in range(num_elements): + d[j] = j + current_memory_size = sys.getsizeof(d) + if current_memory_size != last_memory_size : + resizing_count += 1 + last_memory_size = current_memory_size + end_time = time.perf_counter() + insertion_times.append( end_time - start_time) + resizing.append(resizing_count) + memory_sizes.append(last_memory_size) + return insertion_times, resizing, memory_sizes def experiment_longest(): """ TODO: que fait cette fonction diff --git a/tp_2_miso_mphf.py b/tp_2_miso_mphf.py index c805478..c48ed7e 100644 --- a/tp_2_miso_mphf.py +++ b/tp_2_miso_mphf.py @@ -7,7 +7,7 @@ import random ###### PARTIE 1 ###### -def construction_mphf(set_kmer:set[str], n:int, gamma:float=2, nb_niveaux:int=3) -> list[list[int]]: +def construction_mphf(set_kmer:set[str], n:int, gamma:float=100, nb_niveaux:int=100) -> list[list[int]]: """ Construit une fonction de hachage minimale parfaite (MPHF) pour un ensemble de k-mers. @@ -85,8 +85,7 @@ def get_hash_mphf(mphf, kmer): mphf (list): Table de hachage minimale parfaite. kmer (str): K-mer à hasher. - Returns: - int: Hash du k-mer. + Returns: int: Hash du k-mer. Examples: >>> set_kmer = {str(i) for i in range(10)} -- GitLab