Optimizing C ++
| Steve Heller (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
Editorial Reviews
Amazon.com Review
The heart of Optimizing C++ consists of several case studies of database problems that show various searching and compression algorithms, the author's source code, and careful explanation of the solutions. The author users hash coding, caching, Radix40, and binary-coded decimal (BCD) data representation in a supermarket price-lookup database. Distribution-counting sort algorithms and bitmaps that store data efficiently are both used to help build a mailing-list system. In some of the most useful sections of this book, the author looks at Huffman coding and dynamic hashing.
In every case, the author takes care to explain the details of each algorithm and its advantages and disadvantages for your own code. The book closes with a handy listing of all the algorithms presented and a thorough glossary for the terms used in the text. In all, Optimizing C++ presents some excellent C++ expertise, explained with enough clarity for even beginning or intermediate programmers. --Richard Dragan
From the Inside Flap
Imagine that you are about to finish a relatively large program, one that has taken a few weeks or months to write and debug. Just as you are putting the finishing touches on it, you discover that it is either too slow or runs out of memory when you feed it a realistic set of input data. You sigh, and start the task of optimizing it. But why optimize? If your program doesn't fit in memory, you can just get more memory; if it is too slow, you can get a faster processor. I have written Optimizing C++ because I believe that this common attitude is incorrect, and that a knowledge of optimization is essential toa professional programmer. One very important reason is that we often have little control over the hardware on which our programs are to be run. In this situation, the simplistic approach of adding more hardware is not feasible. Optimizing C++ provides working programmers and those who intend to be working programmers with practical, real-world approach to program optimization. Many of the optimization techniques presented are derived from my reading of academic journals that are, sadly, little known in the programming community. This book also draws on my nearly 30 years of experience as a programmer in diverse fields of application, during which I have become increasingly concerned about the amount of effort spent in reinventing optimization techniques rather than applying those already developed.
The first question you have to answer is whether your program needs optimization at all. If it does, you have to determine what part of the program is the culprit, and what resource is being overused. Chapter 1 indicates a method of attack on these problems, as well as a real-life example. All of the examples in this book were compiled with both Microsoft's Visual C++ 5.0 and the DJGPP compiler, written and copyrighted by DJ Delorie. The latter compiler, along with all the source code for the examples, is on the CD in the back of this book. The CD also includes RHIDE, an integrated development environment for the DJGPP compiler, written and copyrighted by Robert Hoehne. All of the timings and profiling statistics, unless otherwise noted, were the result of running the corresponding program compiled with Visual C++ 5.0 on my Pentium II 233 Megahertz machine with 64 megabytes of memory. I am always happy to receive correspondence from readers. If you wish to contact me, the best way is to visit my WWW page. At the moment, you can reach my page by going to any of the following addresses:
dos32/heller/heller.I should also tell you how the various typefaces are used in the book. HelveticaNarrow is used for program listings, for terms used in programs, and for words defined by the C++ language. Italics are used primarily for technical terms that are found in the glossary, although they are also used for emphasis in some places. The first time that I use a particular technical term that you might not know, it is in bold face.
About the Author
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Prentice Hall (July 9, 1998)
- Language : English
- Paperback : 416 pages
- ISBN-10 : 0139774300
- ISBN-13 : 978-0139774300
- Item Weight : 2.05 pounds
- Dimensions : 7.25 x 1.5 x 9.5 inches
- Best Sellers Rank: #6,430,751 in Books (See Top 100 in Books)
- #1,754 in C++ Programming Language
- #14,149 in Computer Programming Languages
- #27,568 in Computer Software (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The author also seems to demonstrate either an alarming lack of knowledge of C++ or the code within is the subject of a very basic C to C++ conversion. Basic errors abound, lack of variable initialisation is everywhere, C features are used where better C++ features exist.
Additionally, the code typesetting is poor, indentation varies wildly from place to place.
Not recommended, because i) the title is misleading and ii) the code within is very poor C++.
Try Scott Meyers Effective C++ and More Effective C++ or Large Scale C++ Software Design by John Lakos instead.
In an effort to eliminate 'code bloat' and 'CPU bottlenecks', the author has put the responsibility of program efficiency squarely on the shoulders of the programmer (where it belongs). With chapters on sorting, hashing, caching, compression and variable length records, he teaches the 'why's, not just the 'how's, of many important topics and algorithms.
More then just an 'update' to his "Efficient C/C++ Programming", "Optimizing C++" is an 'Upgrade'. Full of useful code, diagrams and figures, you'll find many insights that can be translated into any language or project.
Anyone can call a third-party library routine, this book shows you what you'll need to know to write the routines yourself. A must for serious programmers.
A straightheartedly good reading pleasure.

