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

Langage Delphi Discussion :

Pointeur VS Array / Rapidité?


Sujet :

Langage Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut Pointeur VS Array / Rapidité?
    Bonjour,

    selon vous qui est le meilleur en terme de rapidité de lecture:

    Un pointeur ou au tableau, .

    En effet j'ai un programme qui semble prendre du temps en lecture lorsque j'accède à un tableau.

    je tente donc de modifier mon programme pour modifier ce tableau en pointeur

    Votre avis ?

    Cordialement
    Qays

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 875
    Points : 11 365
    Points
    11 365
    Billets dans le blog
    6
    Par défaut
    dans certains cas, c'est un objet qui permet un gain en rapidité : dans une méthode qui adresse un champ tableau, seul se fait le calcul d'offsets par rapport à l'objet : la référence objet est stockée en EAX => pour accès, ajouter offset du champ, puis de l'élément.

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par QAYS Voir le message
    Bonjour,

    selon vous qui est le meilleur en terme de rapidité de lecture:

    Un pointeur ou au tableau, .

    En effet j'ai un programme qui semble prendre du temps en lecture lorsque j'accède à un tableau.

    je tente donc de modifier mon programme pour modifier ce tableau en pointeur

    Votre avis ?

    Cordialement
    Qays
    ta question n'est pas très claire...mais voici un exemple qui "peut" faire gagner du temps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var
      t : array of byte;
      b : pbyte;
      i : Integer;
    begin
      SetLength(t, 1000);
      b := @t[0]; // premier élément
      for i:= 0 to 999 do
      begin
    //    t[i] := i;  version tableau indexé
        b^ := i; // version pointeur
        inc(b); // élément suivant
      end;
    end;

Discussions similaires

  1. DLL VB6 et Pointeur d'Array d'UDTs
    Par Tazz54oli dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/06/2015, 13h40
  2. pointeur et array dans C++
    Par stracoma dans le forum C++
    Réponses: 3
    Dernier message: 04/03/2015, 15h45
  3. Pointeur et array of byte
    Par Night_Wolf1619 dans le forum Débuter
    Réponses: 5
    Dernier message: 04/04/2014, 15h55
  4. Pointeur char array 2D
    Par Loukoulay dans le forum C
    Réponses: 7
    Dernier message: 21/11/2008, 16h57
  5. probleme de pointeur ? return array
    Par Funraill.net dans le forum C
    Réponses: 23
    Dernier message: 05/06/2006, 16h52

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