Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tp2 hachage
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Tristan Tolentino
tp2 hachage
Commits
1e72ad09
Commit
1e72ad09
authored
1 month ago
by
Mamadou Diallo
Browse files
Options
Downloads
Patches
Plain Diff
réponse des questions 0, 1, 2
parent
ba9590c7
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.idea/.name
+1
-0
1 addition, 0 deletions
.idea/.name
tp_2_miso_dict.py
+39
-27
39 additions, 27 deletions
tp_2_miso_dict.py
with
40 additions
and
27 deletions
.idea/.name
0 → 100644
+
1
−
0
View file @
1e72ad09
tp_2_miso_mphf.py
\ No newline at end of file
This diff is collapsed.
Click to expand it.
tp_2_miso_dict.py
+
39
−
27
View file @
1e72ad09
from
re
import
search
import
matplotlib.pyplot
as
plt
import
matplotlib.pyplot
as
plt
import
numpy
as
np
import
numpy
as
np
import
time
import
time
...
@@ -9,46 +11,56 @@ import sys
...
@@ -9,46 +11,56 @@ import sys
def
experiment_load_factor
(
load_factors
):
def
experiment_load_factor
(
load_factors
):
"""
"""
Étude du facteur de charge
Etude l
'
inmpact du facteur de charge sur les performances d
'
un dictionnaire Python.
Mesure les temps d
'
insertion, de recherche et de suppression pour différents facteurs de charge.
Returns:
insetion_times: liste contenant les temps d
'
insertion (en secondes) pour chaque facteur de charge.
search_times: Liste contenant les temps de recherchde (en secondes) pour chaque facteur de charge.
deletion_times: Liste contenant les temps de suppression (en secondes) pour chaque facteur de charge
"""
"""
insertion_times
=
[]
search_times
=
[]
deletion_times
=
[]
# 1- Initialisation des listes pour stocker les résultats
insertion_times
=
[]
# Temps d'insertion pour chaque facteur de charge
search_times
=
[]
# Temps de recherche pour chaque facteur de charge
deletion_times
=
[]
# Temps de suppression pour chaque facteur de charge
# 2. Boucle sur chaque facteur de charge donné en entrée
for
load_factor
in
load_factors
:
for
load_factor
in
load_factors
:
# Création d'un dictionnaire vide au départ
d
=
{}
d
=
{}
size
=
int
(
10000
*
load_factor
)
# Taille de la structure en fonction du facteur charge
# Calcul de la taille du dictionnaire en fonction du facteur de charge
size
=
int
(
10000
*
load_factor
)
# Mesure du temps d'insertion
# Mesure du temps d'insertion
start_time
=
time
.
time
()
start_time
=
time
.
time
()
for
i
in
range
(
size
):
for
i
in
range
(
size
):
key
=
str
(
i
)
key
=
str
(
i
)
value
=
i
value
=
i
d
[
key
]
=
value
d
[
key
]
=
value
# Insertion de la clé et de la valeur
insertion_time
=
time
.
time
()
-
start_time
insertion_time
=
time
.
time
()
-
start_time
insertion_times
.
append
(
insertion_time
)
insertion_times
.
append
(
insertion_time
)
# Mesure du temps de recherche
start_time
=
time
.
time
()
for
i
in
range
(
size
):
key
=
str
(
i
)
_
=
d
.
get
(
key
)
# Recherche de la clé
search_time
=
time
.
time
()
-
start_time
# Mesure du temps de recherche
search_times
.
append
(
search_time
)
start_time
=
time
.
time
()
for
i
in
range
(
size
):
key
=
str
(
i
)
_
=
d
.
get
(
key
)
# Recherche de la clé
search_time
=
time
.
time
()
-
start_time
search_times
.
append
(
search_time
)
# Réiitialisation du dictionnaire pour la suppression
# Réi
n
itialisation du dictionnaire pour la suppression
d
=
{
str
(
i
):
i
for
i
in
range
(
size
)}
d
=
{
str
(
i
):
i
for
i
in
range
(
size
)}
# Mesure du temps de suppression
# Mesure du temps de suppression
start_time
=
time
.
time
()
start_time
=
time
.
time
()
for
i
in
range
(
size
):
for
i
in
range
(
size
):
key
=
str
(
i
)
key
=
str
(
i
)
del
d
[
key
]
del
d
[
key
]
# Suppression de la clé
deletion_time
=
time
.
time
()
-
start_time
deletion_time
=
time
.
time
()
-
start_time
deletion_times
.
append
(
deletion_time
)
deletion_times
.
append
(
deletion_time
)
# Retour des résultats
return
insertion_times
,
search_times
,
deletion_times
return
insertion_times
,
search_times
,
deletion_times
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment