Skip to content
Snippets Groups Projects
REJOU LEA's avatar
REJOU LEA authored
22e46f41
Forked from GOSSA JULIEN / P4a
31 commits ahead of the upstream repository.

P4a : Analyse de performances de différentes structures

Groupe Promesse : Composé de Léa REJOU & Samuel LADWEIN.

Grille d'évaluation P4a

Problème

Description du Problème:

Lors de la création d'une application, toutes sortes de collection d'objet peuvent être utilisé. Tel que des Liste, Liste chainée, doublement chainée, tableau, dictionnaire etc..

Une question se pose tout de même c'est structure sont tel équivalente en terme d'utilisation de la mémoire ou vitesse d'exécution.

Nous allons donc dans le cadre de ce projet implémenté nos propres structures et comparer leurs performances avec celle déjà implémenté dans le langage séléctionné. Description de tous les paramètres exploratoires du problème: 4 paramètres peuvent fluctuer dans ce projet: - Le type de la structure: ArrayListPerso, Array.. - Le type d'opération: ajouter, supprimer - La taille de la structure - Le nombre d'opération Nous pourrons donc fortement jouer sur les deux derniers paramètres mais les deux premiers restent fixe. En effet seul les structures ou opérations implémentées pourront être tester.

Dispositif expérimental

Le langage utilisé sera le JAVA !

Organisation objet

Organisation projet

Application

code source de l'application

L'application contient deux packages. Un premier avec nos propres implémentations 
et un deuxième avec les implémentations Java normale permettant ainsi de lancer 
l'opération que l'on veut effectuer et le type de structure. Les arguments 
nécéssaires sont un type que l'on veut manipuler, l'opération que l'on veut lancer,
la taille de la structure de base, le nombre d'opérations et si le type appartient a Java ou non.  

Environnement de test

Description de la plateforme de test

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 42
model name    : Intel(R) Celeron(R) CPU B815 @ 1.60GHz
stepping    : 7
cpu MHz        : 1596.388
cache size    : 2048 KB
MemTotal:        7991376 kB

Description de la démarche systématique

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

./test.sh
./plot.R
et pour avoir les structures java il faut rajouter dans le test.sh a la ligne 13 après $nbOp un java

Résultats préalables

Temps d'exécution

plot1 plot2 plot3

Consommation mémoire

plot1 plot2 plot3

Analyse des résultats préalables

Quelque soit l'opération, la mémoire se comporte de la même manière. Elle augmente selon la taille de la strucure. Les temps d'exécutions possèdent le même comportement que la mémoire.

Discussion des résultats préalables

Le comportement parrait étrange et pas forcément représentatif de la réalité car les courbes se comportent de la même manière quelque soit l'opération.

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

Le R à été un langage très compliqué à prendre en main et à été très chronophage pour nous. Grâce à nos résultats expérimentaux nous pouvons maintenant retravailler le code pour avoir des courbes plus fidèles a la réalité.