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

SL & STL C++ Discussion :

Cout de l'allocation dynamique


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut Cout de l'allocation dynamique
    Bonjour,

    Je voudrais avoir des précisions sur le cout de l'allocation dynamique d'une tableau 2D de la taille d'une image ( disons 640 * 480 ) en terme de temps.

    Mon probleme est le suivant, ma fonction a besoin d'un tableau temporaire pour son traitement. Le plus efficace serait de l'allouer dynamiquement une fois pour toutes dans la fonction appellante et de le passer en parametre a chaque appel. Mais je ne trouve pas ca propre pour une fonction réutilisable.

    De quel ordre est donc la perte en comparaison à la meme fonction allouant dynamiquement son tableau a chaque appel... Mieux, en comparaison a la meme fonction allouant une fois un tableau static?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Rien que de remplir chaque pixel prendra déjà 100x plus de temps que de les allouer. Tu es sûr que c'est sur le temps d'allocation de la mémoire que se situe le problème (pour peu qu'il y en ait un) ?

  3. #3
    Membre confirmé Avatar de harsh
    Inscrit en
    Février 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 229
    Par défaut
    Non, il n'y pas de probleme, c'est une question a titre informative. On entend toujours ca et la des remarque sur l'allocation dynamique ou sur l'utilisation de variables static, alors je me pose naturellement des questions.

    Merci

  4. #4
    tut
    tut est déconnecté
    Membre éclairé
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Par défaut
    bah, essaye de faire un benchmark, tu verras bien....
    Ca prend "logiquement" plus de temps de faire de l'allocation dynamique, parce qu'à chaque fois tu te coltines la recherche d'un bloc à allouer, la mise à jour de la mécanique nécessaire pour l'allocation, etc...
    Alors qu'en static, il n'y a pas tout ça.
    Pour le quantifier, c'est difficile, ça dépend de la taille du bloc, de l'OS, de la fragmentation de la mémoire, etc....
    Donc, pour avoir un ordre d'idée, fais un test.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Pourquoi tu veux faire de l'allocation dynamique ?
    Pourquoi ne pas déclarer un tableau à la place ?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par défaut
    Citation Envoyé par tut
    Pour le quantifier, c'est difficile, ça dépend de la taille du bloc, de l'OS, de la fragmentation de la mémoire, etc....
    Et aussi du compilateur et des instructions avant et après et de l'état de ton processus au moment de l'appel et du sens du vent et de l'age du capitaine. L'optimisation que tu proposes est à un niveau tellement bas qu'il vaut mieux attendre de voir si ça freine trop le reste de ton programme.

    L'optimisation prématurée, c'est maaaaaaal. Plus sérieusement, tu risque de perdre en clarté du code pour optimiser au maximum un poil de mouche qui ne sert à rien.

Discussions similaires

  1. probleme d'allocation dynamique
    Par vince3320 dans le forum C
    Réponses: 10
    Dernier message: 22/04/2004, 16h27
  2. petit pbm allocation dynamique de stringGrid
    Par AnneOlga dans le forum C++Builder
    Réponses: 10
    Dernier message: 17/01/2004, 11h59
  3. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59
  4. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 22h31
  5. Réponses: 4
    Dernier message: 03/12/2002, 16h47

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