As the title suggests, the aim of this book is to help the reader optimize performance and footprint of software. Regardless of whether the reader is a software architect, an implementer, or even a project leader, this book serves as a tutorial to help the reader acquire or enhance the following essential skills:
Analyzing where and when in the development process problems tend to arise
Recognizing pitfalls of standard design and programming techniques
Improving C/C++ programming skills
Gaining detailed technical insight into programming techniques
Learning useful solutions and when to use them
These skills form the basis for creating efficient software. This book guides even beginning programmers into using the advanced techniques offered here for writing better software. More experienced programmers can get going right away with the advanced topics and will also find this book to be a helpful repository of all the do's and don'ts they have to continually keep ahead of. The many hints, insights, and examples given on the development process will also be of use to project leaders and architects.