Affiliation:
1. Hewlett-Packard Massachusetts Language Laboratory, 300 Apollo Drive, Chelmsford, MA
Abstract
Large applications are typically partitioned into separately compiled modules. Large performance gains in these applications are available by optimizing across module boundaries. One barrier to applying crossmodule optimization (CMO) to large applications is the potentially enormous amount of time and space consumed by the optimization process.We describe a framework for scalable CMO that provides large gains in performance on applications that contain millions of lines of code. Two major techniques are described. First, careful management of in-memory data structures results in sub-linear memory occupancy when compared to the number of lines of code being optimized. Second, profile data is used to focus optimization effort on the performance-critical portions of applications. We also present practical issues that arise in deploying this framework in a production environment. These issues include debuggability and compatibility with existing development tools, such as
make
. Our framework is deployed in Hewlett-Packard's (HP) UNIX compiler products and speeds up shipped independent software vendors' applications by as much as 71%.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference19 articles.
1. A. Ayers R. Gottlieb and R. Schooler. Aggressive inlining. A CM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '97) 134-145. 10.1145/258915.258928 A. Ayers R. Gottlieb and R. Schooler. Aggressive inlining. A CM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '97) 134-145. 10.1145/258915.258928
2. M. Burke and L. Torczon. Interprocedural optimization' eliminating unnecessary recompilation. A CM Transactions on Programming Languages and Systems (TOPLAS) 15(3) July 1993 367-399. 10.1145/169683.169678 M. Burke and L. Torczon. Interprocedural optimization' eliminating unnecessary recompilation. A CM Transactions on Programming Languages and Systems (TOPLAS) 15(3) July 1993 367-399. 10.1145/169683.169678
3. The ParaScope parallel programming environment
4. D. Dunn and W. Hsu. instruction scheduling for the HP PA-8000. Micro 29. D. Dunn and W. Hsu. instruction scheduling for the HP PA-8000. Micro 29.
5. Make — a program for maintaining computer programs
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献