Eliminating Virtual Function Calls in C++ Programs. Gerald Aigner, Urs Hölzle. ECOOP 1996.
Award committee: Jan Vitek (chair, AITO exec member), Erik Ernst (PC member of ECOOP 2016), Jens Palsberg (PC member of ECOOP 1996)
Motivations: Over the years, ECOOP published papers on key techniques for the efficient implementation of object-oriented languages. This paper by Aigner and Hölzle is a detailed study of the performance impact of compiler optimizations on one of the key source of overheads in object-oriented programs at the time, namely, virtual method invocation. This work was first to study how to transfer some of the ideas pioneered within the context of the SELF project to the C++ programming language. It demonstrated that even in statically-typed hybrid object-oriented languages, the techniques pioneered for pure object-oriented languages have significant benefits on the performance of application code. The techniques and results remain relevant today. The committee particularly appreciated the honesty and rigor of the experiments which showed both benefits and limitations of the work.