Profile-driven data layout optimization

    公开(公告)号:US20050177822A1

    公开(公告)日:2005-08-11

    申请号:US11069232

    申请日:2005-02-28

    CPC classification number: G06F9/44557 G06F9/445 G06F9/4488

    Abstract: 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
    2.
    发明申请
    Profile-driven data layout optimization 有权
    配置文件驱动的数据布局优化

    公开(公告)号:US20050172278A1

    公开(公告)日:2005-08-04

    申请号:US10987408

    申请日:2004-11-12

    CPC classification number: G06F9/44557 G06F9/445 G06F9/4488

    Abstract: 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.

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

    Method and system for program editing
    4.
    发明申请
    Method and system for program editing 有权
    程序编辑方法和系统

    公开(公告)号:US20050028137A1

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

    申请号:US10925515

    申请日:2004-08-25

    CPC classification number: G06F11/3664 G06F8/48

    Abstract: A method and system are disclosed for editing a software program in a common language runtime environment, wherein the software program has a source code component, an intermediate language component, and a native code component. The method comprises executing a first portion of the native code component, suspending execution of the native code component at a first point, and allowing a user to edit the source code component to create an edited source code component. The edited source code component is compiled using a source compiler to create an edited intermediate language component, and the edited intermediate language component is compiled using an intermediate language compiler to create an edited native code component. The edited native code component is then executed beginning at the point where execution was previously suspended.

    Abstract translation: 公开了用于在公共语言运行时环境中编辑软件程序的方法和系统,其中软件程序具有源代码组件,中间语言组件和本地代码组件。 该方法包括执行本地代码组件的第一部分,在第一点暂停本机代码组件的执行,并且允许用户编辑源代码组件以创建编辑的源代码组件。 使用源编译器编辑编辑的源代码组件以创建编辑的中间语言组件,并且使用中间语言编译器编译编辑的中间语言组件以创建编辑的本地代码组件。 然后从执行先前暂停的点开始执行编辑的本机代码组件。

Patent Agency Ranking