Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1366 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  "Poids" des méthodes dans des objets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

"Poids" des méthodes dans des objets

n°688915
styx31
Posté le 31-03-2004 à 20:20:09  profilanswer
 

Bonjour,
 
J'ai une question pour les férus d'optimisation et de décorticage des compilations de langages...
 
Je suis en train de me prendre quelque peu la tête sur une optimisation de mes classes, et j'en viens à me poser certaines questions.
 
Je pense que la réponse se situe indépendamment du langage.
 
En fait, je me demandais si un objet en mémoire comprend aussi le code de ses méthodes. Donc, par exemple, si un tableau de 15000 objets comprend 15000 fois le code de ses méthodes.
 
Vu la conséquence d'un tel fonctionnement, je me dis que surement non. En effet, le moindre des gars cherchant à optimiser un compilo décidera de virer tout ces doublons de code inutiles pour faire un seul code capable de s'adapter au contexte. De plus cette solution expliquerait plus ou moins la présence du this, pointeur référençant l'instance de classe sur laquelle s'exécute cette méthode.
 
Mais du coup, une de mes soi-disantes optimisation, consistant à séparer dans la partie "static" (ou "shared" ) de la classe les méthodes de mon objet (par exemple, les fameux save, load, add des wrappers de données classiques).
 
Est-ce que cette séparation est totalement inutile ? Ou bien sert-elle, mais quasiement à rien ? Ou bien reste-t-elle totalement indispensable (point de vue performance uniquement, je ne parle pas de clareté) ?
 
Voilà, j'espère que je me suis bien exprimé, je tacherai d'être plus clair si je vois que personne ne répond :D

mood
Publicité
Posté le 31-03-2004 à 20:20:09  profilanswer
 

n°688945
nraynaud
lol
Posté le 31-03-2004 à 20:44:51  profilanswer
 

styx31 a écrit :


En fait, je me demandais si un objet en mémoire comprend aussi le code de ses méthodes. Donc, par exemple, si un tableau de 15000 objets comprend 15000 fois le code de ses méthodes.

non, dans chaque objet il y a une référence vers le tas de bordel de sa classe, dont entre autres les méthodes. Doonc chaque méthode ne se retrouve qu'une seule fois en mémoire.
 
Même pour les langages objets sans classes, il y a un système qui ressemble à ça (pointeur vers le prototype).


---------------
trainoo.com, c'est fini

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  "Poids" des méthodes dans des objets

 

Sujets relatifs
[Livre] Méthodes Merise - UML[ Résolu ][ Borland ] Humilié par la portée de mes objets :whistle:
Comparaison méthodes[JS] ajouter des méthodes a un <select>
Comment vider toutes les infos et objets d'une session ?[java ]recuperer la liste (complete) des methodes via introspection
les classe std::vector de la STL et cycle de vie des objetstransfert d'objets entre servlets
[VC++6] Quand initialiser les positions de mes objets?Stress sur un TreeSet ! objets non equals removés
Plus de sujets relatifs à : "Poids" des méthodes dans des objets


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR