Abstract
In this chapter we give an overview of common program optimisation techniques. In each case the aim is to retain the program semantics but improve the “quality” somehow. For example, one might re-write the program so it executes more quickly or so that it uses less memory. These techniques are notoriously ad-hoc: our aim is to present a reasoned description, making the implications of each case clear when describing what they achieve. Many of the presented techniques can be achieved by hand or by using some level of automation in the compiler. In the former case it is important to understand the technique so it can be applied; in the latter case the understanding is important so one can reason about what the compiler is doing and why. The overall aim is that a given program gets the most from the underlying hardware: even efficient processors are only as efficient as the programs they execute !
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag London Limited
About this chapter
Cite this chapter
Page, D. (2009). Efficient Programming. In: Practical Introduction to Computer Architecture. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-84882-256-6_13
Download citation
DOI: https://doi.org/10.1007/978-1-84882-256-6_13
Publisher Name: Springer, London
Print ISBN: 978-1-84882-255-9
Online ISBN: 978-1-84882-256-6
eBook Packages: Computer ScienceComputer Science (R0)