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

C++ Discussion :

Temps d'acces aux elements de tableaux, vector, etc.


Sujet :

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 Temps d'acces aux elements de tableaux, vector, etc.
    Bonjour,

    Ma question porte donc sur le cout d'acces aux elements de differents conteneur. Pour un tableau, on a coutume de dire que c'est une complexité en O(1) mais cela ne signifie pas pour autant qu'il est plus rapide d'acceder 10 fois a un element comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ... += tab [ligne][col]; //10x
    plutot que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int tmp = tab[ligne][col];
    ... += tmp; //10x
    Ensuite, qu'en est-il lorsque l'on compare le temps d'acce dans un tableau bidimensionnelle et dans un vector analogue?

    Merci

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


    Personne ? C'est assez inhabituel sur ce forum...

  3. #3
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut
    Salut,

    Il n'y aura pas de difference flagrante entre tes exemples, ca depend de plusieurs choses :

    - Comment le compilateur va optimiser ta variable temporaire dans le code assembleur genere
    - Comment est faites la gestion de la memoire.

    A priori le plus rapide pour acceder a une element d'un tableau est de travailler directement sur un buffer, et donc dans le cas d'un tableau bidimensionnel d'utiliser un offset. Mais le vecteur est presque aussi rapide. Dans l'ensemble tu peux tenir compte de la complexite du conteneur pour cette operation.

  4. #4
    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
    As-tu réellement besoin d'optimiser ce genre de chose ? Personnellement je n'ai jamais eu à me poser une question aussi "primitive", même dans des applications temps réel où les performances comptent.

  5. #5
    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
    Je suis sur une appli de vision temps reel -> pour du 15 Hz ca nous donne du 60 ms tout compris. L'utilisation massive de tableau/vector bidimensionnelle et les acces repetés (y a des boucles que l'on ne peut pas eviter malheureusement) me font dire qu'il serait peut etre possible de grapiller un peu de temps la dessus

  6. #6
    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
    Dans ce cas, pourquoi ne pas faire les tests directement dans ton application, tout simplement ? D'autant plus que ce sera la meilleure des réponse que tu pourras avoir.

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

Discussions similaires

  1. acces aux elements d un tableau a partir d un fils
    Par Flash_Over dans le forum Linux
    Réponses: 3
    Dernier message: 07/11/2007, 22h11
  2. temps d'acces aux variables
    Par john stedd dans le forum C
    Réponses: 8
    Dernier message: 31/10/2007, 09h40
  3. Réponses: 6
    Dernier message: 23/01/2007, 14h08
  4. Temps d'acces aux fichiers liés...
    Par PAUL87 dans le forum Access
    Réponses: 2
    Dernier message: 08/12/2005, 15h08
  5. [SGBD]Optimiser le temps d'accès aux données (schéma BD)
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 08/10/2004, 18h33

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