Skip to content
Snippets Groups Projects
Commit 8e033733 authored by Julien Dubocage's avatar Julien Dubocage
Browse files

maj README

parent 2e9effa2
Branches
No related merge requests found
......@@ -71,12 +71,49 @@ Voici la démarche que nous avons suivi pour génerer des données puis produire
4. Executer la commande R pour pouvoir générer les graphiques avec ces données
5. Charger la librairie ggplot2 (commande : library(ggplot2)) puis charger les données : perf <- read.csv("perf.csv")
6. Génerer le graphique avec la commande ggplot(perf, arguments) puis exportation avec ggsave("nomGraphique.png")
```
Exemple de script shell :
TESTS=3
STRUCT=3
NBOPERATIONS="100000 125000 150000 175000 200000 225000 250000 275000 300000"
echo "NbOperations,Version,CPU,Mem"
for nb in $NBOPERATIONS
do
for i in `seq $STRUCT`
do
for j in `seq $TESTS`
do
if [ $i = 1 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStdGet $nb > /dev/null) 2>&1`
echo "$nb,ArrayListStd,$res"
elif [ $i = 2 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStdGet $nb > /dev/null) 2>&1`
echo "$nb,LinkedListStd,$res"
else
res=`(/usr/bin/time -f "%U,%M" java p4a.MainTableauStdGet $nb > /dev/null) 2>&1`
echo "$nb,TableauStd,$res"
fi
done
done
done
Chaque script shell réalise le test sur les différentes structures de données 3 fois (parametrable en changeant la valeur de la variable TESTS).
Le nombre de fois que l'opération testée est executée est également parametrable via la variable NBOPERATIONS.
Cette variable est une séquence de plusieurs nombre permettant d'obtenir plusieurs points sur les graphiques.
Commandes R utilisées :
CPU : ggplot(perf, aes(x=NbOperations,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version")
Mem : ggplot(perf, aes(x=NbOperations,y=Mem, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + expand_limits(y=0)
```
## Résultats préalables
### Consommation CPU
......@@ -160,20 +197,19 @@ Dans une ArrayList, les éléments sont stockés en mémoire de manière à ce q
### Hypothèse
Expression précise et succincte d'une hypothèse.
Nous avons pu constater que les LinkedLists sont bien plus efficaces que les ArrayLists pour l'ajout / suppression de valeurs en tête ou en queue de liste.
### Protocole expérimental de vérification de l'hypothèse
Mais est-ce toujours le cas pour les valeurs au millieu de la liste ?
Le déplacement du curseur de maillons en maillons peut potentiellement produire des résultats différents.
Expression précise et succincte du protocole.
### Résultats expérimentaux
```
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
Pour conlure l'ArrayList semble être la structure la plus préferable dans la majorité des cas classiques.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment