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 :

organisation mémoire d'un packed array ?


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bjl
    bjl est déconnecté
    Membre chevronné Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Par défaut organisation mémoire d'un packed array ?
    Bonjour,

    j'ai cru comprendre que tous les items d'un packed array étaient rangés à la suite en mémoire.

    Quelqu'un peut il me le confirmer (ou infirmer) ?

  2. #2
    Membre Expert
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Par défaut
    oui, un packed array, donc un tableau "tassé", est censé avoir ses infos bout à bout, sans essayer de les aligner sur les frontières des octets.
    C'est généralement beaucoup moins efficace en terme de rapidité et sauf tableau gigantesque le gain en RAM ne vaut que rarement la chandelle.
    Les packed records c'est pareil d'ailleurs.

  3. #3
    bjl
    bjl est déconnecté
    Membre chevronné Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Par défaut
    merci pour la réponse.

    ce n'est pas franchement pour le gain mémoire mais pour le passer en paramètre via pointer et le l'utiliser via un autre pointeur sous une autre forme, donc pour être sur que les octets vont être au bon endroit.

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    l'intérêt des packed record peut être aussi de calquer une structure d'en-tête, à lire par stream, plutôt que de faire x lectures successives (avec le record, il y a décalage si des champs sont de taille impaire)
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

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

Discussions similaires

  1. Structure d'un packed array
    Par NeMo_O dans le forum Langage
    Réponses: 8
    Dernier message: 18/08/2008, 14h00
  2. Organisation en mémoire d'un processus
    Par peaceinpal dans le forum Bibliothèque standard
    Réponses: 5
    Dernier message: 07/06/2008, 16h22
  3. Réponses: 4
    Dernier message: 27/01/2008, 17h15
  4. Différence entre ARRAY et PACKED ARRAY
    Par homeostasie dans le forum Langage
    Réponses: 5
    Dernier message: 16/01/2007, 22h02
  5. [LG] Array to packed record
    Par Nomiss dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2005, 22h28

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