PROFILE-DRIVEN DATA LAYOUT OPTIMIZATION
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. A...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
L'invention concerne une implantation de données optimisée, qui met en place des éléments de données dans une mémoire de manière à améliorer les performances d'un logiciel. Des données de profil sont consultées pour déterminer la manière de grouper les éléments de données d'une classe d'objet. Selon une technique, les éléments de données sont groupés sur la base de la fréquence de renvoi à ces éléments de données dans la mémoire. Selon une autre technique, les éléments de données sont groupés sur la base de leurs affinités mutuelles dans le temps, déterminées par le moment auquel ont lieu les renvois à ces éléments de données. Diverses options peuvent être mises en oeuvre lors de la collecte des données de profil et du groupage des éléments de données. Le groupage des éléments de données est enregistré dans des métadonnées associées à une définition de la classe d'objet. Au moment de l'exécution, un dispositif de chargement de classes place les éléments de données d'un objet en mémoire en fonction des métadonnées. Des éléments de données de différents groupes peuvent être placés dans des unités du système de mémoire pouvant être chargées séparément. Ultérieurement, lors de renvois à des éléments de données de la mémoire, les éléments de données présentant de fréquents renvois, y compris ceux qui ont tendance à être sollicités à des moments rapprochés, résident à des emplace |
---|