Copy elimination in functional languages
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
A comprehensive analytical model for garbage collection algorithms
ACM SIGPLAN Notices
Software—Practice & Experience
An Evaluation of Java for Numerical Computing
ISCOPE '98 Proceedings of the Second International Symposium on Computing in Object-Oriented Parallel Environments
An evaluation of Java for numerical computing
Scientific Programming
Hi-index | 4.11 |
Object-oriented programs are simpler to implement and maintain than those using traditional programming methods. At the same time, object-oriented programs create and destroy objects, incurring overhead costs. They also cause unnamed temporary objects of the same type to be created in the scope of the calling routine. Both of these factors affect the performance of object-oriented pro grams compared to procedural programs. For these reasons, programmers view object-oriented programming as wasteful compared to procedural programming. When runtime efficiency is important, developers have a legitimate reason to reject OOP. In this article, the authors propose to improve the efficiency of the underlying implementation by reusing temporaries. They report experimental results showing large speedups using this method.