# P4a : Analyse de performances de différentes structures

[Grille d'évaluation P4a](https://docs.google.com/spreadsheets/d/1x72glVEQHPx56Wr8G0RNQgfQXGX6xCsjms_6b7J6si0/edit?usp=sharing
)

## Problème

Description du Problème.

Description de tous les paramètres exploratoires du problème

## Dispositif expérimental

### Application

[code source de l'application](../script.sh)
```
Description de l'application et des arguments

L'application vise à observer la différence de performance pour l'ajout, la suppression et le test de contenance entre les ArrayList et les LinkedList. Il y a 3 arguments :
- le type de donnée (tableau ou liste chainée)
- l'opération (add, del et contains)
- le nombre d'opération à éffectuer

on peut aussi faire varier le type utilisé pour stocker la taille des tableaux : int ou Integer
le nombre d'élément : 10 et 1 000 000 par ex
nombre d'opérations : de 1 000 à 1 000 000 (nombre d'exec du test)

On va mesurer le temps d'éxécution et l'utilisation mémoire en fonction des paramètres
```



### Environnement de test
```
Description de la plateforme de test

cpu family	: 6

model		: 63

model name	: Intel(R) Xeon(R) CPU E5-2630L v3 @ 1.80GHz

stepping	: 2

microcode	: 0x31

cpu MHz		: 1209.045

cache size	: 20480 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.

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


```

[Code du script :](../script.sh)

## Résultats préalables

### Temps d'exécution

| Opération            | Tableau                   | Liste chaînée             |                           |
|----------------------|---------------------------|---------------------------|---------------------------|
| Insertion            | ![plot](../images/Temps/listeAjout.png) | ![plot](../images/Temps/listeChaineAjout.png) | ![plot](../images/Temps/liste+listeChaineeAjout.png) |
| Accès                | ![plot](../images/Temps/listeAcces.png) | ![plot](../images/Temps/listeChaineeAcces.png) | ![plot](../images/Temps/liste+listeChaineeAcces.png) |


### Consommation mémoire

| Opération            | Tableau                   | Liste chaînée             |                           |
|----------------------|---------------------------|---------------------------|---------------------------|
| Insertion            | ![plot](../images/Memoire/listeAjout.png) | ![plot](../images/Memoire/listeChaineeAjout.png) | ![plot](../images/Memoire/liste+listeChaineeAjout.png) |
| Accès                | ![plot](../images/Memoire/listeAcces.png) | ![plot](../images/Memoire/listeChaineeAcces.png) | ![plot](../images/Memoire/liste+listeChaineeAcces.png) |


### Analyse des résultats préalables

Explications précises et succinctes des résultats préalables.

### 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