发明名称 Method and system for determining an optimal placement order for code portions within a module
摘要 A method and system for determining an optimal placement order for code portions within a module to improve locality of reference and reduce the working set of the module are provided. The optimal placement order for code portions within a module reflects the concurrency of usage for code portions during execution of the module. All code portions which execute within a certain period of time are placed in close proximity to each other within the executable module. When determining the optimal placement order for each code portion, the present invention executes an instrumented version of the module to collect execution data for each code portion, analyzes the execution data to determine the optimal placement order for each code portion, and links the code portions according to the determined optimal placement order. The instrumented version of the module contains instructions that, when executed, cause execution data to be recorded. When the code portions are linked according to the determined optimal placement order, the working set for the module is reduced, thereby lessening page and cache misses and improving overall system performance. To collect execution data, a preferred embodiment of the present invention creates a bit vector for each code portion in the module. Each bit vector contains multiple bits such that each bit represents a unique time interval. Upon each invocation of a code portion within a time interval, the bit vector for the invoked code portion is located and the bit that represents the time interval is set to 1.
申请公布号 US5752038(A) 申请公布日期 1998.05.12
申请号 US19970903323 申请日期 1997.07.17
申请人 MICROSOFT CORPORATION 发明人 BLAKE, RUSS;BAGHAI, M. REZA;SMITH, LEE A.
分类号 G06F9/445;G06F9/45;G06F11/34;G06F12/08;(IPC1-7):G06F9/45 主分类号 G06F9/445
代理机构 代理人
主权项
地址