Skip to content
Snippets Groups Projects
README.md 2.76 KiB
Newer Older
gossa's avatar
gossa committed
# 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

CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
Lorsque l'on développe en Java, on aura souvent besoin d'utiliser des collections d'objets, sans que l'on en connaisse précisément leur fonctionnement.
Chacune ayant des besoins différents, le temps d'exécution et la mémoire utilisée seront impactés par l'implémentation que l'on choisira.

On cherche donc ici à voir différentes configurations, comme par exemple:
- Quel type de collection est la plus rapide pour accéder à une donnée précise dans une collection d'objets de taille normale (~1.000 éléments) ?
- Si on se place dans une très grande collection (>100.000 éléments), quelle collection permet d'utiliser la mémoire au minimum ?
gossa's avatar
gossa committed

CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
Il y a donc plusieurs paramètres qui pourront faire varier les mesures de temps d'exécution ou de mémoire en fonction du type d'opération:
- La taille de la collection
- Le nombre de répétition de l'opération choisie
gossa's avatar
gossa committed

## Dispositif expérimental

### Application

[code source de l'application](chemin)
```
Description de l'application et des arguments
```

### Environnement de test

CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
Tous les tests ont été effectués sur mon ordinateur _personnel_, dont un extrait du fichier /proc/cpuinfo est le suivant:
gossa's avatar
gossa committed
```
CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
model name	: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
cpu MHz		: 800.010
cache size	: 12288 KB
cpu cores	: 6
gossa's avatar
gossa committed
```

### Description de la démarche systématique

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

```
CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
> ./code/script.sh | tee ./data/src/dataTree.tsv
> ./code/plot.r
gossa's avatar
gossa committed
```
CATEL-GUIHOMAT MARIN's avatar
CATEL-GUIHOMAT MARIN committed
_Le script plot.r lira par défaut le fichier **dataTree.tsv** présent à l'emplacement **data/src/dataTree.tsv**_
gossa's avatar
gossa committed

## Résultats préalables

gossa's avatar
gossa committed
### Temps d'exécution

gossa's avatar
gossa committed
![plot](prealable.png)
gossa's avatar
gossa committed

### Consommation mémoire

gossa's avatar
gossa committed
![plot](prealable-mem.png)
gossa's avatar
gossa committed

### Analyse des résultats préalables

gossa's avatar
gossa committed
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.
gossa's avatar
gossa committed

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