In the past, object-oriented language designers and program-mers have been forced to choose between pure message pass-ing and performance. Last year, our SELF system achieved close to half the speed of optimized C but suffered from impractically long compile times. Two new optimization techniques, deferred compilation of uncommon cases and non-backtracking splitting using path objects, have improved compilation speed by more than an order of magnitude. SELF now compiles about as fast as an optimizing C compiler and runs at over half the speed of optimized C. This new level of performance may make pure object-oriented languages prac-tical.
Optimization is the field where most compiler research is prepared today. The tasks of the Front-end...
Applications, and their associated programming models, have had a profound influence on computer arc...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
In the past, object-oriented language designers and programmers have been forced to choose between p...
High level programming language features have long been seen as improving programmer efficiency at s...
Application codes reliably under perform the advertised performance of existing architectures, compi...
The structure of object-oriented programs differs from that of procedural programs, requiring specia...
An open-ended and flexible object-oriented language ideally requires its compiler to optimize code a...
In this dissertation, we show how a relatively simple and extremely fast interprocedural optimizatio...
Previously, techniques such as class hierarchy analysis and profile-guided receiver class prediction...
Dynamically-dispatched calls often limit the performance of object-oriented programs since object-or...
Object-oriented programming has become a widely-used, important programming paradigm that is support...
Tracing and partial evaluation have been proposed as meta-compilation techniques for interpreters to...
We have developed and implemented techniques that double the performance of dynamically-typed object...
An open-ended and flexible object-oriented language ideally requires its compiler to optimise code a...
Optimization is the field where most compiler research is prepared today. The tasks of the Front-end...
Applications, and their associated programming models, have had a profound influence on computer arc...
International audienceReaching the best level of runtime performance from a high-level,object-orient...
In the past, object-oriented language designers and programmers have been forced to choose between p...
High level programming language features have long been seen as improving programmer efficiency at s...
Application codes reliably under perform the advertised performance of existing architectures, compi...
The structure of object-oriented programs differs from that of procedural programs, requiring specia...
An open-ended and flexible object-oriented language ideally requires its compiler to optimize code a...
In this dissertation, we show how a relatively simple and extremely fast interprocedural optimizatio...
Previously, techniques such as class hierarchy analysis and profile-guided receiver class prediction...
Dynamically-dispatched calls often limit the performance of object-oriented programs since object-or...
Object-oriented programming has become a widely-used, important programming paradigm that is support...
Tracing and partial evaluation have been proposed as meta-compilation techniques for interpreters to...
We have developed and implemented techniques that double the performance of dynamically-typed object...
An open-ended and flexible object-oriented language ideally requires its compiler to optimise code a...
Optimization is the field where most compiler research is prepared today. The tasks of the Front-end...
Applications, and their associated programming models, have had a profound influence on computer arc...
International audienceReaching the best level of runtime performance from a high-level,object-orient...