Affiliation:
1. Univ. of Karlsruhe, Karlsruhe, Germany
Abstract
When a single software module in a large system is modified, a potentially large number of other modules may have to be recompiled. By reducing both the number of compilations and the amount of input processed by each compilation run, the turnaround time after changes can be reduced significantly.
Potential time savings are measured in a medium-sized, industrial software project over a three-year period. The results indicate that a large number of compilations caused by traditional compilation unit dependencies may be redundant. On the available data, a mechanism that compares compiler output saves about 25 percent, smart recompilation saves 50 percent, and smartest recompilation may save up to 80 percent of compilation work.
Furthermore, all compilation methods other than smartest recompilation process large amounts of unused environment data. In the project analyzed, the average environment symbols are actually used. Reading only the actually used symbols would reduce total compiler input by about 50 percent.
Combining smart recompilation with a reduction in environment processing might double to triple perceived compilation speed and double linker speed, without sacrificing static type safety.
Publisher
Association for Computing Machinery (ACM)
Reference28 articles.
1. BOO SON E. 1989. Program changes and the cost of selective recompilation. Ph.D. thesis Lept. of Computer Science Carnegie-Mellon Univ. Pittsburgh Pa. July. BOO SON E. 1989. Program changes and the cost of selective recompilation. Ph.D. thesis Lept. of Computer Science Carnegie-Mellon Univ. Pittsburgh Pa. July.
2. Interprocedural optimization
3. CCITT 1988. CCITT high level language (CHILL) language definition 1988. CCITT Recomm. Z.200 ITU Geneva Switzerland. CCITT 1988. CCITT high level language (CHILL) language definition 1988. CCITT Recomm. Z.200 ITU Geneva Switzerland.
Cited by
19 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献