| Type feedback vs. concrete type inference: a comparison of optimization techniques for object-oriented languages |
| Full text |
Pdf
(2.27 MB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
table of contents
Austin, Texas, United States
Pages: 91 - 107
Year of Publication: 1995
ISBN:0-89791-703-0
Also published in ...
|
|
Authors
|
|
Ole Agesen
|
Computer Science Department, Stanford University, Stanford, CA
|
|
Urs Hölzle
|
Computer Science Department, University of California, Santa Barbara, CA
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 40, Citation Count: 27
|
|
|
ABSTRACT
Two promising optimization techniques for object-oriented languages are type feedback (profile-based receiver class prediction) and concrete type inference (static analysis). We directly compare the two techniques, evaluating their effectiveness on a suite of 23 SELF programs while keeping other factors constant.Our results show that both systems inline over 95% of all sends and deliver similar overall performance with one exception: SELF's automatic coercion of machine integers to arbitrary-precision integers upon overflow confounds type inference and slows down arithmetic-intensive benchmarks.We discuss several other issues which, given the comparable run-time performance, may influence the choice between type feedback and type inference.
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.
| |
Age94
|
Ole Agesen. Constraint-Based Type Inference and Parametric Polymorphism. in SAS '94, First International Static Analysis Symposium, p. 78-100, Namur, Belgium, Sept. 1994. Springer-Verlag (LNCS 864).
|
 |
AU94
|
Ole Agesen , David Ungar, Sifting out the gold: delivering compact applications from an exploratory object-oriented programming environment, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.355-370, October 23-28, 1994, Portland, Oregon, United States
|
| |
Age95
|
|
| |
AH95
|
|
| |
APS93
|
|
| |
CGZ94
|
Brad Calder, Dirk Grunwald, and Benjamin Zorn. Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages 4(2), Dec. 1994.
|
 |
CUL89
|
C. Chambers , D. Ungar , E. Lee, An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes, Conference proceedings on Object-oriented programming systems, languages and applications, p.49-70, October 02-06, 1989, New Orleans, Louisiana, United States
|
 |
CU90
|
|
| |
DGC95
|
|
 |
DS84
|
|
| |
Dyk77
|
Eric J. Van Dyke. A dynamic incremental compiler for an interpretative language. HP Journal, p. 17-24, July 1977.
|
 |
Gro95
|
David Grove , Jeffrey Dean , Charles Garrett , Craig Chambers, Profile-guided receiver class prediction, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.108-123, October 15-19, 1995, Austin, Texas, United States
|
 |
GW78
|
|
| |
HCU91
|
|
| |
Höl94
|
Urs H61zle. Adaptive Optimization in SELF: Reconciling High Performance with Exploratory Programming. Ph.D. Thesis, Department of Computer Science, Stanford University, Aug. 1994. (Available from http://www.cs.ucsb.edu/--urs.)
|
 |
HU94a
|
|
 |
HU94b
|
Urs Hölzle , David Ungar, A third-generation SELF implementation: reconciling responsiveness with performance, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.229-243, October 23-28, 1994, Portland, Oregon, United States
|
 |
JGZ88
|
Ralph E. Johnson , Justin O. Graver , Laurance W. Zurawski, TS: an optimizing compiler for smalltalk, Conference proceedings on Object-oriented programming systems, languages and applications, p.18-26, September 25-30, 1988, San Diego, California, United States
|
 |
Joh79
|
|
| |
Kra83
|
|
| |
Mit70
|
|
| |
OPS92
|
|
 |
PS91
|
Jens Palsberg , Michael I. Schwartzbach, Object-oriented type inference, Conference proceedings on Object-oriented programming systems, languages, and applications, p.146-161, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
PR94
|
Hemant D. Pande and Barbara G. Ryder. Static Type Determination and Aliasing for C++. Technical Report LCSR- TR-236, Rutgers University, Dec. 1994.
|
 |
PC94a
|
John Plevyak , Andrew A. Chien, Precise concrete type inference for object-oriented languages, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.324-340, October 23-28, 1994, Portland, Oregon, United States
|
| |
PC94b
|
John B. Plevyak and Andrew A. Chien. Precise Concrete Type Inference and its Use in Program Optimization. Unpublished report, Oct. 1994.
|
| |
PC94c
|
john B. Plevyak and Andrew A. Chien. Efficient cloning to eliminate dynamic dispatch in object-oriented languages. Unpublished report, Dec. 1994.
|
 |
PZC95
|
John Plevyak , Xingbin Zhang , Andrew A. Chien, Obtaining sequential efficiency for concurrent object-oriented languages, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.311-321, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199524]
|
 |
Suz81
|
|
 |
US87
|
David Ungar , Randall B. Smith, Self: The power of simplicity, Conference proceedings on Object-oriented programming systems, languages and applications, p.227-242, October 04-08, 1987, Orlando, Florida, United States
|
| |
VHU92
|
|
CITED BY 27
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sara Porat , Bilha Mendelson , Irina Shapira, Sharpening global static analysis to cope with Java, Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, p.19, November 30-December 03, 1998, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sara Porat , David Bernstein , Yaroslav Fedorov , Joseph Rodrigue , Eran Yahav, Compiler optimization of C++ virtual function calls, Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS), p.1-1, June 17-21, 1996, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|