ACM Home Page
Please provide us with feedback. Feedback
Impact of economics on compiler optimization
Full text PdfPdf (765 KB)
Source Java Grande Conference archive
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande table of contents
Palo Alto, California, United States
Pages: 1 - 10  
Year of Publication: 2001
ISBN:1-58113-359-6
Author
Arch D. Robison  KAI Software, a Division of Intel Americas, Inc., 1906 Fox Drive, Champaign IL
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 33,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/376656.376751
What is a DOI?

ABSTRACT

Compile-time program optimizations are similar to poetry: more are written than are actually published in commercial compilers. Hard economic reality is that many interesting optimizations have too narrow an audience to justify their cost in a general-purpose compiler, and custom compilers are too expensive to write. An alternative is to allow programmers to define their own compile-time optimizations. This has already happened accidentally for C++, albeit imperfectly, in the form of template metaprogramming. This paper surveys the problems, the accidental success, and what directions future research might take to circumvent current economic limitations of monolithic compilers.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Angus, I. G. Applications demand class-specific optimizations: The C++ compiler can do more, in Scientific Programming 2,4 (1993), 123-131.
 
2
 
3
Bou-Diab, M., Dodgson, M., and Blatter, G. Vortex collisions: crossing or recombination. To appear in Physical Review Letters.
4
 
5
OpenC++ Home Page http://www.hlla.is.tsukuba.ac.jp/-chiba/openc++.html
 
6
Cohn, R., Goodwin, D., Lowney, P.G., and Rubin, N. Spike: An optimizer for Alpha/NT executables. In Proceedings of the USENIX Windows NT Workshop, (Seattle, Washington, Aug. 1997).
7
8
9
 
10
 
11
Gould, S. J. The Panda's Thumb: More Reflections in Natural History (1980), W. W. Norton & Company, 19-26.
12
 
13
Haney, S., Crotinger, J., Karmesin, S., and Smith, S. PETE: The portable expression template engine. In Dr. Dobb's Journal (October 1999).
 
14
Hastings, R. and Joyce, B. Purify: fast detection of memory leaks and access errors. In Proceedings of Winter 1992 USENIX Conference (San Francisco, CA, 1991), 125-138.
 
15
Intel Pentium 4 Processor Optimization Reference Manual, Chapter 2, (November 2000), Intel Corporation, 7.
 
16
Lamping, J., Kiczales, G., Rodriguez, L.H., and Ruf, Erik. An Architecture for An Open Compiler. In Proceedings of the IMSA '92 Workshop on Reflection and Metu-level Architectures, (Tokyo, Japan, 1992), 95-106.
17
18
 
19
 
20
OpenMP Application Program Interface. http://www.openmp.org
 
21
 
22
Robison, A. D. Method of analyzing definitions and uses in programs with pointers and aggregates in an optimizing compiler. U.S. Patent 5,790,866 (Aug. 4, 1998)
 
23
Robison, A. D. Method of replacing lvalues by variables in programs containing nested aggregates in an optimizing compiler. U.S. Patent 5,710,927 (Jan. 1998).
24
25
 
26
Veldhuizen, T. Expression templates. In C+ + Report 7,5 (June 1995), 26-31.
 
27
Veldhuizen, T. C++ templates as partial evaluation. In Proceedings of the 1999 A CM S1GPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (San Antonio TX, January 1999), ACM Press, 13-18.
 
28
 
29
Velhuizen, T. Using C++ template metaprograms. In C++ Report 7,4 (May 1995), 36-43.