From ae8502bc80ed07149b869b0b493cd1e2dd26507b Mon Sep 17 00:00:00 2001 From: gossa <gossa@unistra.fr> Date: Thu, 14 Mar 2019 14:39:25 +0100 Subject: [PATCH] =?UTF-8?q?etude=20pr=C3=A9alable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +++---- perf.R | 11 +++++ perf.dat | 41 +++++++++++++++++ perf.sh | 18 ++++++++ prealable-mem.png | Bin 0 -> 19063 bytes prealable.png | Bin 0 -> 28794 bytes recherche.c | 109 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 184 insertions(+), 11 deletions(-) create mode 100644 perf.R create mode 100644 perf.dat create mode 100755 perf.sh create mode 100644 prealable-mem.png create mode 100644 prealable.png create mode 100644 recherche.c diff --git a/README.md b/README.md index 8e0ac02..3080488 100644 --- a/README.md +++ b/README.md @@ -38,23 +38,17 @@ Suite des commandes, ou script, à exécuter pour produire les données. ### Temps d'exécution -| Opération | Tableau | Liste chaînée | | -|----------------------|---------------------------|---------------------------|---------------------------| -| Insertion |  |  |  | -| Accès |  |  |  | -| |  |  |  | + ### Consommation mémoire -| Opération | Tableau | Liste chaînée | | -|----------------------|---------------------------|---------------------------|---------------------------| -| Insertion |  |  |  | -| Accès |  |  |  | -| |  |  |  | + ### Analyse des résultats préalables -Explications précises et succinctes 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 diff --git a/perf.R b/perf.R new file mode 100644 index 0000000..714eae6 --- /dev/null +++ b/perf.R @@ -0,0 +1,11 @@ +#!/bin/R + +library(ggplot2) + +df <- read.table("perf.dat", header=TRUE) + +png("prealable.png") +ggplot(df,aes(x=taille,y=exectime,colour=version)) + + geom_point() + geom_smooth() + + ggtitle("Mesures préalables des 4 versions") +dev.off() diff --git a/perf.dat b/perf.dat new file mode 100644 index 0000000..c465956 --- /dev/null +++ b/perf.dat @@ -0,0 +1,41 @@ +test taille version exectime mem +1 21800000 v4 0.45 86668 +1 21800000 v2 0.56 86676 +1 21800000 v1 2.30 86768 +1 21800000 v3 2.14 86768 +2 14057000 v4 0.31 56508 +2 14057000 v2 0.36 56432 +2 14057000 v3 1.45 56452 +2 14057000 v1 1.54 56420 +3 5089000 v4 0.10 21484 +3 5089000 v2 0.13 21476 +3 5089000 v3 0.52 21388 +3 5089000 v1 0.53 21460 +4 9411000 v4 0.20 38300 +4 9411000 v2 0.22 38304 +4 9411000 v3 0.94 38372 +4 9411000 v1 0.98 38272 +5 32386000 v4 0.71 128116 +5 32386000 v2 0.80 128116 +5 32386000 v3 3.28 128040 +5 32386000 v1 3.46 128088 +6 15352000 v4 0.34 61484 +6 15352000 v2 0.39 61516 +6 15352000 v3 1.62 61480 +6 15352000 v1 1.64 61504 +7 17015000 v4 0.37 68004 +7 17015000 v2 0.42 68008 +7 17015000 v3 1.72 67988 +7 17015000 v1 1.79 68012 +8 14627000 v4 0.31 58720 +8 14627000 v2 0.37 58804 +8 14627000 v3 1.57 58748 +8 14627000 v1 1.62 58660 +9 23156000 v4 0.49 91976 +9 23156000 v2 0.59 92036 +9 23156000 v3 2.44 92064 +9 23156000 v1 2.45 92064 +10 31361000 v2 0.77 124112 +10 31361000 v4 0.68 124112 +10 31361000 v3 3.19 124052 +10 31361000 v1 3.32 124036 diff --git a/perf.sh b/perf.sh new file mode 100755 index 0000000..6c44231 --- /dev/null +++ b/perf.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +echo -e "test\ttaille\tversion\texectime\tmem" + +for test in `seq 1 10` +do + taille=${RANDOM}000 + + for version in 1 2 3 4 + do + ( + res=`(/usr/bin/time -f "%U\t%M" ./recherche $taille $version > /dev/null) 2>&1` + + echo -e "$test\t$taille\tv$version\t$res" + ) & + done + wait +done diff --git a/prealable-mem.png b/prealable-mem.png new file mode 100644 index 0000000000000000000000000000000000000000..ed615c1d8727cf95a1f3f5fc51cd5d480aad59d1 GIT binary patch literal 19063 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 literal 0 HcmV?d00001 diff --git a/prealable.png b/prealable.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec4b707d4adc9f817728d0c0b3578b72cac4009 GIT binary patch literal 28794 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 literal 0 HcmV?d00001 diff --git a/recherche.c b/recherche.c new file mode 100644 index 0000000..9e22c1e --- /dev/null +++ b/recherche.c @@ -0,0 +1,109 @@ +/** + Recherche d'un entier alétoire dans un tableau de valeurs aléatoires + */ + +#include <stdio.h> +#include <stdlib.h> +#include <time.h> + +#define MAX_VALEUR 150000 + +int *generer_tableau(long long unsigned int n) +{ + int *tableau = malloc(n*sizeof(int)); + long long unsigned int i; + + for (i=0; i<n; i++) { + tableau[i] = rand()%MAX_VALEUR; + } + + return tableau; +} + +void afficher_tableau(int *tableau, long long unsigned int n) +{ + long long unsigned int i; + for (i=0; i<n; i++) { + printf("%d ",tableau[i]); + } + printf("\n"); + +} + +char rechercherV1(int *tableau, long long unsigned int n, int valeur) +{ + long long unsigned int i; + char trouve = 0; + + for (i=0; i<n; i++) { + if (tableau[i] == valeur) { + trouve=1; + } + } + + return trouve; +} + +char rechercherV2(int *tableau, long long unsigned int n, int valeur) +{ + long long unsigned int i; + char trouve = 0; + + for (i=0; i<n; i++) { + if (tableau[i] == valeur) { + return 1; + } + } + + return 0; +} + + +int main(int argc, char *argv[]) +{ + int *tableau; + int taille, valeur; + char trouve; + int version; + + if (argc<2) { + printf("%s: opérande manquant\n",argv[0]); + printf("Recherche une valeur aléatoire dans un tableau d'entier aléatoire de taille n\n"); + printf("Affiche le tableau et renvoie 1 si la valeur est trouvée, 0 sinon\n"); + exit(1); + printf("Usage: %s taille version [graine]\n",argv[0]); + } + + unsigned int graine; + if (argc>3) { + graine = atoi(argv[3]); + } else { + graine = time(NULL); + } + + srand(graine); + + taille = strtoull(argv[1], (char **) NULL, 10); + version = strtoull(argv[2], (char **) NULL, 10); + valeur = rand()%MAX_VALEUR; + tableau = generer_tableau(taille); + + switch(version) { + case 1: + afficher_tableau(tableau,taille); + trouve = rechercherV1(tableau, taille, valeur); + break; + case 2: + trouve = rechercherV1(tableau, taille, valeur); + break; + case 3: + afficher_tableau(tableau,taille); + trouve = rechercherV2(tableau, taille, valeur); + break; + case 4: + trouve = rechercherV2(tableau, taille, valeur); + break; + } + + printf("Valeur %d trouve: %d\n",valeur, trouve); +} -- GitLab