Method and apparatus for identifying differences in runs of a computer program due to code changes
    1.
    发明授权
    Method and apparatus for identifying differences in runs of a computer program due to code changes 失效
    用于识别由于代码变化导致的计算机程序的运行差异的方法和装置

    公开(公告)号:US07506330B2

    公开(公告)日:2009-03-17

    申请号:US10777872

    申请日:2004-02-12

    IPC分类号: G06F9/45

    摘要: A method and apparatus for identifying differences in runs of a computer program that are due to changes in the code of the computer program. With the apparatus and method, call trees are generated for two or more builds of a computer program. The apparatus and method perform a “tree-subtract” operation in which the two or more call trees generated during runs of two or more different builds of a computer program are subtracted from one another to identify build to build differences in the execution of the computer program. From the resulting tree, portions of the runs of the different builds of the computer program where the resource utilization of the computer program has not changed are easily identifiable. Moreover, portions of the runs of the different builds of the computer program where there are improvements or regressions in resource utilization of the computer program may be easily identifiable.

    摘要翻译: 一种用于识别计算机程序运行中由于计算机程序的代码变化而导致的差异的方法和装置。 使用该设备和方法,可以为计算机程序的两个或多个构建生成调用树。 该装置和方法执行“减法”操作,其中在计算机程序的两个或多个不同构建的运行期间产生的两个或更多个调用树从彼此中减去以识别构建以构建计算机的执行中的差异 程序。 从结果树中,计算机程序的资源利用率未改变的计算机程序的不同构建的运行的部分容易识别。 此外,计算机程序的资源利用的改进或回归的计算机程序的不同构建的运行的部分可以容易地识别。

    Method and apparatus for averaging out variations in run-to-run path data of a computer program
    2.
    发明授权
    Method and apparatus for averaging out variations in run-to-run path data of a computer program 失效
    用于平均计算机程序的运行路径数据的变化的方法和装置

    公开(公告)号:US07519961B2

    公开(公告)日:2009-04-14

    申请号:US10777742

    申请日:2004-02-12

    IPC分类号: G06F9/44 G06F11/30 G06F11/36

    摘要: A method and apparatus for averaging out variations from run to run of a computer program are provided. With the apparatus and method, call trees are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-addition” operation in which the two or more call trees generated during runs of the computer program are added to one another to thereby accumulate statistics for each call in the call trees. These statistics may then be divided by the number of runs whose tree data structures are being accumulated. In this way, an average of the tree data structures is generated. In addition, any portions of the tree data structure that are due to asynchronous events are averaged out so that their relative affect in the resulting tree data structure is minimized.

    摘要翻译: 提供了一种从计算机程序的运行到运行的平均化的方法和装置。 利用设备和方法,生成用于构建计算机程序的两次或多次执行的调用树。 该装置和方法执行“树添加”操作,其中在计算机程序运行期间生成的两个或多个呼叫树彼此相加,从而累积对呼叫树中的每个呼叫的统计。 然后可以将这些统计信息除以树数据结构正在被累积的运行次数。 以这种方式,生成树数据结构的平均值。 此外,由于异步事件导致的树数据结构的任何部分被平均化,使得它们在所得到的树数据结构中的相对影响被最小化。

    REMOVAL OF ASYNCHRONOUS EVENTS IN COMPLEX APPLICATION PERFORMANCE ANALYSIS
    3.
    发明申请
    REMOVAL OF ASYNCHRONOUS EVENTS IN COMPLEX APPLICATION PERFORMANCE ANALYSIS 有权
    在复杂应用性能分析中去除异常事件

    公开(公告)号:US20120311543A1

    公开(公告)日:2012-12-06

    申请号:US13585320

    申请日:2012-08-14

    IPC分类号: G06F9/44

    CPC分类号: G06F8/443

    摘要: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.

    摘要翻译: 提供了一种用于从多个呼叫树数据结构中识别最小呼叫树数据结构的方法和装置。 利用该装置和方法,生成用于构建计算机程序的两个或多个执行的调用树数据结构。 该装置和方法执行树最小化操作,其中在计算机程序的运行期间生成的两个或更多个调用树被行走,并且仅存在于每个树数据结构中的那些节点被保持在最小化的树数据结构中。 此外,这些公共节点的最小值保持在最小化的树数据结构中。 以这种方式,从最小树数据结构中去除异步事件,并且分析可以集中在计算机程序的运行之间一致的计算机程序的那些区域。

    Removal of asynchronous events in complex application performance analysis
    4.
    发明授权
    Removal of asynchronous events in complex application performance analysis 失效
    在复杂的应用程序性能分析中删除异步事件

    公开(公告)号:US08266595B2

    公开(公告)日:2012-09-11

    申请号:US10777909

    申请日:2004-02-12

    IPC分类号: G06F9/44

    CPC分类号: G06F8/443

    摘要: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.

    摘要翻译: 提供了一种用于从多个呼叫树数据结构中识别最小呼叫树数据结构的方法和装置。 利用该装置和方法,生成用于构建计算机程序的两个或多个执行的调用树数据结构。 该装置和方法执行“树最小化”操作,其中在计算机程序运行期间生成的两个或更多个调用树被移动,并且仅存在于每个树数据结构中的那些节点保持在最小化的树数据中 结构体。 此外,这些公共节点的最小值保持在最小化的树数据结构中。 以这种方式,从最小树数据结构中去除异步事件,并且分析可以集中在计算机程序的运行之间一致的计算机程序的那些区域。

    Method and apparatus for hardware awareness of data types
    5.
    发明授权
    Method and apparatus for hardware awareness of data types 失效
    数据类型的硬件意识的方法和装置

    公开(公告)号:US07386690B2

    公开(公告)日:2008-06-10

    申请号:US10835106

    申请日:2004-04-29

    IPC分类号: G06F12/00

    CPC分类号: G06F8/437

    摘要: A method, apparatus, and computer instructions in a processor for associating a data type with a memory location. The type is associated with a location by means of metadata that is generated and manipulated by hardware instructions that are typically generated by a compiler as it generates the other instructions that comprise the machine code version of a program. A determination is made as to whether a data value about to be stored is of the required data type for that location. The hardware indicates an error condition if the types do not match.

    摘要翻译: 一种用于将数据类型与存储器位置相关联的处理器中的方法,装置和计算机指令。 该类型通过由编译器生成并由编译器生成包括程序的机器码版本的其他指令的硬件指令生成和操纵的元数据与一个位置相关联。 确定要存储的数据值是否是该位置所需的数据类型。 如果类型不匹配,则硬件指示错误条件。

    Method and apparatus for verifying data types to be used for instructions and casting data types if needed
    6.
    发明授权
    Method and apparatus for verifying data types to be used for instructions and casting data types if needed 有权
    用于验证要用于指示的数据类型的方法和装置,如果需要,则转换数据类型

    公开(公告)号:US07269718B2

    公开(公告)日:2007-09-11

    申请号:US10835484

    申请日:2004-04-29

    IPC分类号: G06F9/44

    摘要: A method, apparatus, and computer instructions in a processor for performing arithmetic operations. A data type associated with a particular memory location is used to determine if an operation about to be performed on the data in that location is legal. If the operation requires the data to have a required data type, a determination is made as to whether the operation is a legal operation based on the identified data type and the required data type. If the operation is not legal on the identified type, a determination is made as to whether data can be cast to change the identified data type to the required data type. The data is cast to the required data type if the data can be cast to form modified data, and the arithmetic operation is performed on the modified data. If the data cannot be cast to the Required type, an exception or interrupt is generated.

    摘要翻译: 一种用于执行算术运算的处理器中的方法,装置和计算机指令。 与特定存储器位置相关联的数据类型用于确定是否对该位置的数据执行操作是合法的。 如果操作需要数据具有所需的数据类型,则基于所识别的数据类型和所需的数据类型确定操作是否是合法操作。 如果操作在所识别的类型上不合法,则确定是否可以投射数据以将所识别的数据类型改变为所需数据类型。 如果可以将数据转换为形式的修改数据,则将数据转换为所需的数据类型,并对修改的数据执行算术运算。 如果数据不能转换为必需类型,则会生成异常或中断。

    Method and apparatus for hardware awareness of data types
    7.
    发明授权
    Method and apparatus for hardware awareness of data types 失效
    数据类型的硬件意识的方法和装置

    公开(公告)号:US07647457B2

    公开(公告)日:2010-01-12

    申请号:US12109103

    申请日:2008-04-24

    IPC分类号: G06F12/00

    CPC分类号: G06F8/437

    摘要: A method, apparatus, and computer instructions in a processor for associating a data type with a memory location. The type is associated with a location by means of metadata that is generated and manipulated by hardware instructions that are typically generated by a compiler as it generates the other instructions that comprise the machine code version of a program. A determination is made as to whether a data value about to be stored is of the required data type for that location. The hardware indicates an error condition if the types do not match.

    摘要翻译: 一种用于将数据类型与存储器位置相关联的处理器中的方法,装置和计算机指令。 该类型通过由编译器生成并由编译器生成包括程序的机器码版本的其他指令的硬件指令生成和操纵的元数据与一个位置相关联。 确定要存储的数据值是否是该位置所需的数据类型。 如果类型不匹配,则硬件指示错误条件。

    Method and apparatus for implementing assertions in hardware
    8.
    发明授权
    Method and apparatus for implementing assertions in hardware 有权
    用于在硬件中实现断言的方法和装置

    公开(公告)号:US07328374B2

    公开(公告)日:2008-02-05

    申请号:US10835485

    申请日:2004-04-29

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3612

    摘要: A method, apparatus, and computer instructions in a processor for checking assertions. A determination by the processor is made as to whether metadata for an assertion is associated with the memory location, in response to detecting a change in data in a memory location. The data to the assertion is compared by the processor, in response to the metadata being associated with the memory location. An error is generated by the processor if the assertion is invalid, with respect to the data. The processor checks the assertions for validity.

    摘要翻译: 一种用于检查断言的处理器中的方法,装置和计算机指令。 响应于检测到存储器位置中的数据的改变,由处理器确定用于断言的元数据是否与存储器位置相关联。 响应于与存储器位置相关联的元数据,由处理器比较到断言的数据。 如果关于数据的断言无效,处理器会产生错误。 处理器检查断言的有效性。

    System and method for providing trace information
    9.
    发明授权
    System and method for providing trace information 有权
    提供跟踪信息的系统和方法

    公开(公告)号:US06338159B1

    公开(公告)日:2002-01-08

    申请号:US09343424

    申请日:1999-06-30

    IPC分类号: G06F944

    摘要: The present invention is a system, method, and computer readable medium for representing program event trace information in a way which is very compact and efficient, and yet supports a wide variety of queries regarding system performance. The tracing and reduction of the present invention may be dynamic, in which case information is obtained and added to the trace representation in real-time. Alternately, the tracing and reduction may be static, in which case a trace text file or binary file is obtained from a trace buffer, and the reduction takes place using the trace file as input. The trace information, whether obtained statically or dynamically, is represented as a tree of events. The present invention may be used to present many types of trace information in a compact manner which supports performance queries. For example, the tree structure of the present invention may reflect the call stacks observed during a program's execution, and statistics regarding the memory allocated/deallocated in the various routines and call stacks may be stored at each node of the tree. The tree structure may be used to store performance information regarding Java bytecodes executed, memory allocated, or other types of performance information. The trace information is presented in a manner which is compact and efficient, and may be used to quickly and easily answer a variety of performance queries. Further, a system may be traced for long periods of time without losing useful performance information due to a limited buffer space.

    摘要翻译: 本发明是用于以非常紧凑和有效的方式表示节目事件跟踪信息的系统,方法和计算机可读介质,并且还支持关于系统性能的各种查询。 本发明的追踪和缩减可以是动态的,在这种情况下,实时获得信息并添加到跟踪表示中。 或者,跟踪和缩减可以是静态的,在这种情况下,从跟踪缓冲区获取跟踪文本文件或二进制文件,并且使用跟踪文件作为输入进行缩小。 跟踪信息(无论是静态获取还是动态获取)都表示为事件树。 本发明可以用于呈现支持性能查询的紧凑方式的许多类型的跟踪信息。 例如,本发明的树结构可以反映在程序执行期间观察到的调用堆栈,并且关于在各种例程和调用堆栈中分配/释放的存储器的统计信息可以存储在树的每个节点处。 树结构可以用于存储关于执行的Java字节码,分配的存储器或其他类型的性能信息的性能信息。 跟踪信息以紧凑和高效的方式呈现,并且可以用于快速和容易地回答各种性能查询。 此外,系统可以被追踪长时间,而不会由于有限的缓冲区空间而丢失有用的性能信息。

    System and method for collecting a plurality of metrics in a single profiling run of computer code
    10.
    发明授权
    System and method for collecting a plurality of metrics in a single profiling run of computer code 失效
    用于在单个计算机代码的分析运行中收集多个度量的系统和方法

    公开(公告)号:US07657875B2

    公开(公告)日:2010-02-02

    申请号:US11104323

    申请日:2005-04-12

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3616

    摘要: A system and method for collecting a plurality of metrics during a single run of a computer program. The mechanism of the present invention initializes a plurality of counters to count events associated with metrics of interest. The mechanism of the present invention then counts the occurrence of events associated with metrics of interest during a single execution of a computer program. When a branch has been taken, a trace record is generated for the branch taken, wherein the generated trace record contains a count of events associated with the metrics of interest for the branch taken.

    摘要翻译: 一种用于在计算机程序的单次运行期间收集多个度量的系统和方法。 本发明的机制初始化多个计数器以对与感兴趣度量相关联的事件进行计数。 然后,本发明的机制在计算机程序的单次执行期间对与感兴趣的度量相关联的事件的发生进行计数。 当采取分支时,为所采取的分支生成跟踪记录,其中生成的跟踪记录包含与所采取的分支的感兴趣度量相关联的事件计数。