P4a : Analyse de performances de différentes structures
Problème
Description du Problème :
Nous allons implémenter 3 opérations communes à différentes structures de données (tableaux, LinkedList et ArrayList) et comparer leurs performances avec leur implémentation standard. Nous avons choisi d'utiliser le language objet java.
Proposition d'opérations :
- Ajout d'un élement à une certaine position (n'exite pas pour les tableaux standards, add() pour les LinkedList / ArrayList)
- Suppression d'un élement à une certaine position(n'existe pas pour les tableaux standards, remove() pour les LinkedList / ArrayList)
- Accès d'un élement à une certaine position(tab[position] pour les tableaux, get() pour les LinkedList / ArrayList)
Dispositif expérimental
Organisation objet
Description de l'organisation des classes et interfaces, ou diagramme de classes.
Toutes les structures de données vont implémenter une Interface "Struture" que nous allons créer et qui contiendra les opérations choisies.
Dans le package Standard, nous appelerons juste les bonnes méthodes déja présentes dans les libraires standards et dans le package Perso nous réimplementerons par nous même ces opérations.
Application
Description de l'application et des arguments
Environnement de test
Description de la plateforme de test
Extrait pertinent de /proc/cpuinfo
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.
Résultats préalables
Temps d'exécution
Consommation mémoire
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.