Нет описания

Clément Krebs 25c85d8838 modif r 5 лет назад
.idea ba94743f64 test autre script r et nombre d'élément au hasard dans sh 5 лет назад
out 394a2ff1fc modif script r et ajout image 5 лет назад
src b624795db3 ajout classes et script shell 5 лет назад
P4a.iml 018da8cf20 Ajout .dat et .r et modif shell 5 лет назад
README.md 981d5170b7 Update README.md 5 лет назад
acceder_mem.png 25c85d8838 modif r 5 лет назад
acceder_tps.png c08bcb70ac ajout images et modif script r 5 лет назад
fichier.txt b624795db3 ajout classes et script shell 5 лет назад
perf.dat c08bcb70ac ajout images et modif script r 5 лет назад
plot.r 25c85d8838 modif r 5 лет назад
recherche b624795db3 ajout classes et script shell 5 лет назад
recherche.c 10e5958371 MAX au lieu de -1 5 лет назад
remplir_mem.png 25c85d8838 modif r 5 лет назад
remplir_tps.png c08bcb70ac ajout images et modif script r 5 лет назад
run.sh ba94743f64 test autre script r et nombre d'élément au hasard dans sh 5 лет назад
supprimer_mem.png 25c85d8838 modif r 5 лет назад
supprimer_tps.png c08bcb70ac ajout images et modif script r 5 лет назад

README.md

P4a : Analyse de performances de différentes structures

Grille d'évaluation P4a

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

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

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

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

Description de la démarche systématique et de l'espace d'exploration pour chaque paramètres.

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

plot plot plot

Consommation mémoire

plot plot plot

Analyse des résultats préalables

La mémoire se comporte exactement pareil sur les 4 versions. Les temps d'exécutions dépendent essentiellement de l'affichage des valeurs du tableau. La version 2 de recherche semble un peu plus rapide.

Discussion des résultats préalables

Explications précises et succinctes sur ce que les limites des résultats préalables et ce qu'ils ne permettent pas de vérifier.

Etude approfondie

Hypothèse

Expression précise et succincte d'une hypothèse.

Protocole expérimental de vérification de l'hypothèse

Expression précise et succincte du protocole.

Suite des commandes, ou script, à exécuter pour produire les données.

Résultats expérimentaux

Analyse des résultats expérimentaux

Discussion des résultats expérimentaux

Conclusion et travaux futurs