Profile-driven data layout optimization
    1.
    发明授权
    Profile-driven data layout optimization 有权
    配置文件驱动的数据布局优化

    公开(公告)号:US07496909B2

    公开(公告)日:2009-02-24

    申请号:US11069232

    申请日:2005-02-28

    IPC分类号: G06F9/45 G06F12/00

    摘要: 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.

    摘要翻译: 数据布局优化将数据成员安排在内存中以增强软件性能。 查询分析数据以确定如何将对象类的数据成员分组。 一种技术根据数据成员在内存中引用的频率来对数据成员进行分组。 另一种方法是根据数据成员的相关性在时间上对数据成员进行分组,通过观察对数据成员的引用进行确定。 支持收集分析数据和分组数据成员时的各种选项。 数据成员分组被记录在与对象类的定义相关联的元数据中。 在运行时,类加载器根据元数据将对象的数据成员放置在内存中。 不同组的数据成员可以被放置在存储器系统中的可分离的存储单元中。 随后,当在存储器中引用数据成员时,更频繁地引用的数据成员(包括倾向于在彼此接近的时间被引用的数据成员)驻留在存储器系统中的相邻位置处。

    Profile-driven data layout optimization

    公开(公告)号:US07013459B2

    公开(公告)日:2006-03-14

    申请号:US10987408

    申请日:2004-11-12

    IPC分类号: G06F9/45 G06F12/00

    摘要: 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.

    Profile-driven data layout optimization

    公开(公告)号:US06862729B1

    公开(公告)日:2005-03-01

    申请号:US09542525

    申请日:2000-04-04

    摘要: 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.