IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme gourmand en mémoire


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut Algorithme gourmand en mémoire
    Bonjour à tous,

    Dans un environnement de système embarqué, j'ai codé mes propres malloc() et free() (allocation dynamique de mémoire). Il me faut maintenant les mettre à l'épreuve.

    Auriez-vous un exemple d'algo dont le besoin mémoire varie (franchement) lors de son execution ? Je dois préciser que le système n'a aucune entrée, il a des sorties (console + leds) en revanche.

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Un truc du genre ?
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void *ptr1 = NULL.
    void *ptr2 = NULL.
    void *ptr3 = NULL.
    ...
     
    while(1) {
      if (ptr1==NULL) {ptr1=malloc( SIZE1 ); continue;} else { free(ptr1); ptr1=NULL;}
      if (ptr2==NULL) {ptr2=malloc( SIZE2 ); continue;} else { free(ptr2); ptr2=NULL;}
      if (ptr3==NULL) {ptr3=malloc( SIZE3 ); continue;} else { free(ptr3); ptr3=NULL;}
      ...
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    un autre :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    int nb[6] = { 100000, 100, 500000, 10000, 10, 1000 };
    int i = 0, j ;
    double *ptr1=NULL ;
    char *ptr2 = NULL ;
     
    srand ( time(NULL) );
     
    while ( 1 )
    {
        i = 5*rand()/RAND_MAX ;
     
        ptr1 = malloc ( nb[i]*sizeof(double) );
        sleep ( 10 );
     
        if ( i == 5 )
           j = 0 ;
        else
           j = i + 1 ;
     
        ptr2 = malloc ( nb[j]*sizeof(char) );
        sleep ( 10 );
     
        free ( ptr1 ), ptr1 = NULL ;
        sleep ( 10 );
     
        free ( ptr2 ), ptr2 = NULL ;
        sleep ( 10 );
    }

  4. #4
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Bonjour, merci pour voter aide. Je m'attendais à autre chose de plus concret, mais ça fait son office.

    Cdlt,

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Je m'attendais à autre chose de plus concret,
    Mais encore ?

    En général, un "benchmark" (ce qui était ce tu demandais, en un sens) est défini..

    Un algo, de manière générale, sera tellement dépendant des données en entrée (ou des limites du sytème, par exemple avec un truc récursif), que cela ne pourrait guère être envisagé comme un vrai test...

    Qu'avais-tu en tête ?


    Citation Envoyé par prgasp77 Voir le message
    mais ça fait son office.

  6. #6
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Je pensais à un algo de tri/recherche dont la consommation en mémoire croit au début, attend son apogée puis décroit pour être quasi nulle à la fin. Le but étant d'alterner de plein de façon différentes des allocations, des libérations et des réallocations.

    Mais qu'importe, merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sql Developer 4 est-il moins gourmand en mémoire ?
    Par pcouas dans le forum Sql Developer
    Réponses: 1
    Dernier message: 06/03/2014, 16h52
  2. Algo gourmand - Optimisation de mémoire
    Par akrogames dans le forum Général Java
    Réponses: 5
    Dernier message: 10/10/2012, 13h11
  3. [WD14] Application gourmande en mémoire
    Par yann_72 dans le forum WinDev
    Réponses: 20
    Dernier message: 02/06/2009, 11h38
  4. Inserts trop gourmand en mémoire
    Par ledjlale dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 05/11/2008, 21h51
  5. [Apache] très gourmand en mémoire ?
    Par Invité dans le forum Apache
    Réponses: 2
    Dernier message: 23/06/2004, 09h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo