Dataflow Graph Performance Debugger And Design Rule Checker For CGRA
US-2024345936-A1 · Oct 17, 2024 · US
US8990779B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-8990779-B2 |
| Application number | US-53937109-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 11, 2009 |
| Priority date | Aug 11, 2009 |
| Publication date | Mar 24, 2015 |
| Grant date | Mar 24, 2015 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present invention relate to a computer-implemented method that includes binary weaving a second computer program code into the byte code of a first computer program code using a code weaver to form a third program product with a plurality of time measurement points. The programs can include sending a request via a network requesting information from a server computer system. The embodiment of the present invention may include measuring the execution time between the execution of a start point to the execution of a corresponding stop point.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, comprising: analyzing different code compilations of an application by receiving and storing response time data in one or more log files from the different code compilations of the application to determine a best code compilation from the different code compilations with a best response time to thereby generate the application using code corresponding to the best code compilation having the best response time, including: sending a communication from a first computer system to a second computer system for each of the different code compilations of the application, the communication requesting information via a network for measuring a response time of portions of a first computer program code stored in memory for each of the different code compilations of the application; configuring the first computer program code for each of the different code compilations of the application using a second computer program code to initiate a timer when a start point is reached in the first computer program code and the timer is stopped when a stop point is reached in the first computer program code, the second computer program code inserting high level language code into a byte code of the first computer program code for each of the different code compilations of the application to create a woven program product for each of the different code compilations of the application with the start and stop points based on receiving input from a user specifying where to insert the start and stop points into the byte code, and the code between the start and stop points sends the communication from the first computer system to the second computer system via the network; displaying output generated by the woven program product for each of the different code compilations of the application to the user including a result of the information received from the second computer system related to the inserted start and stop points; calculating the response time for each of the different code compilations of the application and displaying the calculated response time for each of the different code compilations of the application to the user after displaying the result of the information received from the second computer system, the response time comprising both a first computer system execution time and a second computer system execution time for measuring the first and second computer system execution times between execution of the start point to execution of the stop point; and storing the response time for each of the different code compilations of the application as the response time data in the one or more log files. 2. The method of claim 1 , wherein the first computer system and the second computer system are coupled to each other in the client-server relationship, and wherein the first computer performs client operations in the client-server relationship and the second computer system performs server operations in the client-server relationship. 3. The method of claim 1 , wherein initiating the timer comprises: storing a start timestamp in a log file when the start point is reached in the first computer program code; and storing a stop timestamp in a log file when the stop point is reached in the first computer program code. 4. The method of claim 3 , wherein calculating the response time includes determining the difference between the stored stop and start timestamps. 5. The method of claim 1 , wherein the stored start and stop points are embedded between other start and stop points to measure response times. 6. The method of claim 1 , further comprising a response time analysis logic configured to determine the portions of the first computer program code with the fastest response time. 7. The method of claim 6 , further comprising a response time analysis logic configured receive response time data to determine the response time difference since a previous version of the first computer program code with the fastest response time. 8. A computer-implemented method, comprising: analyzing different code compilations of an application by receiving and storing response time data in one or more log files from the different code compilations of the application to determine a best code compilation from the different code compilations with a best response time to thereby generate the application using code corresponding to the best code compilation having the best response time, including: load time weaving a second computer program code into a first computer program code stored in memory for each of the different code compilations of the application using a compiler that transforms source code into language that a computer is configured to execute, the second computer program code is configured as an abstract byte code, and the abstract byte code is inserted into an object class by use of the compiler to form a concrete response time byte code that is tied to a plurality of start and stop points in the first computer program code for each of the different code compilations of the application based on receiving input from a user specifying where to insert the start and stop points into the abstract byte code; the second computer program code configured to define start and stop measurement points to measure the response time between the start and stop points in the first computer program code for each of the different code compilations of the application; displaying output generated when the second computer program code is executed to the user including displaying information related to the inserted start and stop points to the user for each of the different code compilations of the application; measuring the response time for each of the different code compilations of the application and displaying the measured response time for each of the different code compilations of the application to the user after displaying the information related to the inserted start and stop points to the user; and storing the response time for each of the different code compilations of the application as the response time data in the one or more log files. 9. The method of claim 8 , wherein the language that a computer is configured to execute comprises byte code that is a form of program instructions that a virtual machine is configured to execute. 10. The method of claim 9 , wherein the virtual machine is a set of computer software program and data structures that execute other computer programs and scripts. 11. The method of claim 9 , wherein load time weaving includes combining at least two software programs to form one program product that includes code from both software program, and wherein at least one program product includes response time start and stop measurement points. 12. The method of claim 9 , wherein the compiler is a byte code weaver that takes as input a plurality of software programs and assembles the programs to produce byte code that is executable by a machine. 13. The method of claim 8 , wherein the abstract byte code uses aspect-oriented programming (AOP) to allow crosscutting aspects to be inserted into the first computer program code. 14. The method of claim 13 , wherein AOP allows a programmer to write an aspect that further defines or modifies various characteristics of at least one object in an application; wherein defining or modifying a characteristic includes measuring the response time of the at least one object. 15. The method of claim 14 , wherein the first computer program code is a java swing application that implements a user interface of a java application. 16. T
Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title
Aspect-oriented programming techniques · CPC title
using software metrics · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.