The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 31, 2011
Filed:
Mar. 27, 2006
Gheorghe Cascaval, Carmel, NY (US);
Siddhartha Chatterjee, Yorktown Heights, NY (US);
Evelyn Duesterwald, Ossining, NY (US);
Allan Kielstra, Ajax, CA;
Kevin Stoodley, Richmond Hill, CA;
Gheorghe Cascaval, Carmel, NY (US);
Siddhartha Chatterjee, Yorktown Heights, NY (US);
Evelyn Duesterwald, Ossining, NY (US);
Allan Kielstra, Ajax, CA;
Kevin Stoodley, Richmond Hill, CA;
International Business Machines Corporation, Armonk, NY (US);
Abstract
A computer-implemented method, computer program product and data processing system to improve runtime performance of executable program code when executed on the data-processing system. During execution, data is collected and analyzed to identify runtime behavior of the program code. Heuristic models are applied to select region(s) of the program code where application of a performance improvement algorithm is expected to improve runtime performance. Each selected region is recompiled using selected performance improvement algorithm(s) for that region to generate corresponding recompiled region(s), and the program code is modified to replace invocations of each selected region with invocations of the corresponding recompiled region. Alternatively or additionally, the program code may be recompiled to be adapted to characteristics of the execution environment of the data processing system. The process may be carried out in a continuous recursive manner while the program code executes, or may be carried out a finite number of times.