|
|
@@ -1,4 +1,3 @@
|
|
|
-
|
|
|
# P4a : Analyse de performances de différentes structures
|
|
|
|
|
|
[Grille d'évaluation P4a](https://docs.google.com/spreadsheets/d/1x72glVEQHPx56Wr8G0RNQgfQXGX6xCsjms_6b7J6si0/edit?usp=sharing
|
|
|
@@ -6,24 +5,72 @@
|
|
|
|
|
|
## Problème
|
|
|
|
|
|
-Description du Problème.
|
|
|
+### Description du Problème.
|
|
|
+
|
|
|
+Au cours du développement d'un programme en informatique, le collections comme Arraylist, hashmap ou encore vector sont souvent utilisées. Ainsi il convient de se demander lesquelles sont les plus appropriées pour certaines opérations.
|
|
|
+
|
|
|
+### Description de tous les paramètres exploratoires du problème
|
|
|
|
|
|
-Description de tous les paramètres exploratoires du problème
|
|
|
+Comme dit précédemment, l'étude portera sur les arraylist, hasmap et vector. Les opérations étudiées sont :
|
|
|
+ * Remplir avec comme valeur un entier au hasard
|
|
|
+ * Supprimer une valeur, la position est prise au hasard
|
|
|
+ * Accéder à une valeur, la position est prise au hasard
|
|
|
|
|
|
## Dispositif expérimental
|
|
|
|
|
|
### Application
|
|
|
|
|
|
-[code source de l'application](chemin)
|
|
|
+[code source de l'application](/src)
|
|
|
+
|
|
|
+Pour lancer l'application : `java -jar P4a.jar <strucutre> <operation> <nombre_occurrence>`
|
|
|
+
|
|
|
```
|
|
|
Description de l'application et des arguments
|
|
|
+
|
|
|
+structure :
|
|
|
+ arraylist
|
|
|
+ array
|
|
|
+ hashmap
|
|
|
+
|
|
|
+operation :
|
|
|
+ remplir
|
|
|
+ supprimer
|
|
|
+ acceder
|
|
|
+
|
|
|
+nombre_occurrence : le nombre d'éléments à traiter
|
|
|
```
|
|
|
+Les opérations supprimer et acceder procèdent d'abord à un remplissage.
|
|
|
|
|
|
### Environnement de test
|
|
|
|
|
|
Description de la plateforme de test
|
|
|
```
|
|
|
-Extrait pertinent de /proc/cpuinfo
|
|
|
+Description processeur (lscpu) :
|
|
|
+
|
|
|
+Architecture : x86_64
|
|
|
+Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit
|
|
|
+Boutisme : Little Endian
|
|
|
+Tailles des adresses: 46 bits physical, 48 bits virtual
|
|
|
+Processeur(s) : 40
|
|
|
+Liste de processeur(s) en ligne : 0-39
|
|
|
+Thread(s) par cœur : 2
|
|
|
+Cœur(s) par socket : 10
|
|
|
+Socket(s) : 2
|
|
|
+Nœud(s) NUMA : 2
|
|
|
+Identifiant constructeur : GenuineIntel
|
|
|
+Famille de processeur : 6
|
|
|
+Modèle : 79
|
|
|
+Nom de modèle : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
|
|
|
+Révision : 1
|
|
|
+Vitesse du processeur en MHz : 1498.682
|
|
|
+Vitesse maximale du processeur en MHz : 3100,0000
|
|
|
+Vitesse minimale du processeur en MHz : 1200,0000
|
|
|
+
|
|
|
+Description ram (free -h) :
|
|
|
+
|
|
|
+ total
|
|
|
+Mem: 125Gi
|
|
|
+Swap: 127Gi
|
|
|
```
|
|
|
|
|
|
### Description de la démarche systématique
|
|
|
@@ -32,17 +79,24 @@ Description de la démarche systématique et de l'espace d'exploration pour chaq
|
|
|
|
|
|
```
|
|
|
Suite des commandes, ou script, à exécuter pour produire les données.
|
|
|
+
|
|
|
+./run.sh | tee perf.dat pour la production des données
|
|
|
+r plot.r pour le traitement des données et la production des graphiques
|
|
|
```
|
|
|
|
|
|
## Résultats préalables
|
|
|
|
|
|
### Temps d'exécution
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
### Consommation mémoire
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
### Analyse des résultats préalables
|
|
|
|