Patent ID: 7788658

Claim:
A method for enhancing the execution performance of program code, the program code including at least one original module container, the original module container including at least one code module, wherein the code module is a class method, the method comprising: receiving code usage information for the code module in the original module container, the code usage information generated from an analysis of the program code, the code usage information including a frequency of use of the code module and an order of use of the code module, wherein the code usage information is obtained from at least one representative execution of the program code, wherein receiving code usage information for the code module in the original module container includes performing a static analysis of the program code; determining if the code module is separable from the original module container; determining that the code module in the original module container should be separated from the original module container based, at least in part, on the code usage information; assigning a rank to the code module based on the usage information; transporting the code module to a new module container, wherein the new module container is a class containing the class method, the new module container including other code modules with the same assigned rank as the code module; replacing the code module in the original module container with a reference to the code module in the new module container; and recursively descending through the program code and separating module containers into multiple code bases.