Claims
- 1. A method for minimizing total cost of interaction among components of a computer program, each of said components being characterized by at least one implementation property, said method comprising the steps of:
a) carrying out at least a partial run of said program; b) monitoring said at least partial run of the program to measure an amount of interaction between each pair of components; c) determining a cost of interaction between each pair of interacting components; d) determining a choice of implementation properties which minimizes total cost of said at least partial run; e) assigning said choice of said implementation properties to said components for a subsequent at least partial run of said program.
- 2. A method as set forth in claim 1, said implementation property comprising a choice of string representation of a component, said amount of interaction measured in step (b) comprising a frequency of interaction between each pair of interacting components; said cost of interaction comprising a function of said frequency and a cost of converting any differing string representations of said pair to a common string representation.
- 3. A method as set forth in claim 2, wherein at least one string represented is selected from ASCII, UNICODE, and EBCDIC.
- 4. A method as set forth in claim 1, said implementation property comprising a choice of data structure of a component, said amount of interaction measured in step (b) comprising a frequency of interaction between each pair of interacting components; said cost of interaction comprising a function of said frequency and a cost of converting any differing choices of data structures of said pair to a common choice of data structure.
- 5. A method as set forth in claim 3, wherein at least one data structure is selected from hash, tree, and compressed data structures.
- 6. A method as set forth in claim 1, wherein the step (d) of determining the choice is carried out by building a graph with nodes representing program components and edges that join adjacent nodes representing interaction therebetween, each edge being characterized by a cost of each interaction, then using a graph cutting technique to find a minimum cut of the graph.
- 7. A computer readable medium including computer instructions for carrying out a method for minimizing total cost of interaction among components of a computer program running on a computer system, said method comprising the steps of:
a) carrying out at least a partial run of said program; b) monitoring said at least partial run of the program to measure an amount of interaction between each pair of components; c) determining a cost of interaction between each pair of interacting components; d) determining a choice of implementation properties which minimizes total cost of said at least partial run; e) assigning said choice of said implementation properties to said components for a subsequent at least partial run of said program.
- 8. A computer readable medium as set forth in claim 7, said implementation property comprising a choice of string representation of a component, said amount of interaction measured in step (b) comprising a frequency of interaction between each pair of interacting components; said cost of interaction comprising a function of said frequency and a cost of converting any differing string representations of said pair to a common string representation.
- 9. A computer readable medium as set forth in claim 8, wherein at least one string representation is selected from ASCII, UNICODE, and EBCDIC.
- 10. A computer readable medium as set forth in claim 7, said implementation property comprising a choice of data structure of a component, said amount of interaction measured in step (b) comprising a frequency of interaction between each pair of interacting components; said cost of interaction comprising a function of said frequency and a cost of converting any differing choices of data structures of said pair to a common choice of data structure.
- 11. A computer readable medium as set forth in claim 10, wherein at least one data structure is selected from hash, tree, and compressed data structures.
- 12. A computer readable medium as set forth in claim 7 wherein the step (d) of determining the choice is carried out by building a graph with nodes program components and edges that join adjacent nodes representing interaction therebetween, each edge being characterized by a cost of each interaction, then using a graph cutting technique to find a minimum cut of the graph.
Cross-Reference To Related Applications
[0001] This application claims the benefit of United States Provisional Application No. 60/267,573, filed Feb. 9, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60267573 |
Feb 2001 |
US |