Object-oriented programs are simpler to implement and maintain than th
ose using traditional programming methods. At the same time, object-or
iented programs create and destroy objects, incurring overhead costs.
They also cause unnamed temporary objects of the same type to be creat
ed in the scope of the calling routine. Both of these factors affect t
he performance of object-oriented programs compared to procedural prog
rams. For these reasons, programmers view object-oriented programming
as wasteful compared to procedural programming. When runtime efficienc
y is important, developers have a legitimate reason to reject OOP. In
this article, the authors propose to improve the efficiency of the und
erlying implementation by reusing temporaries. They report experimenta
l results showing large speedups using this method.