Have one to sell? Sell yours here
Optimizing C ++
 
See larger image
 
Tell the Publisher!
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.

Optimizing C ++ [Paperback]

Steve Heller (Author)
3.3 out of 5 stars  See all reviews (7 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Hardcover --  
Paperback --  

Book Description

July 9, 1998
For professional software developers, getting a program to work is just the beginning: it must work efficiently, making the most of limited time, memory and disk space. This book explains and illustrates a series of algorithms that can dramatically improve the efficiency of many C++ programs. Coverage includes data compression; dynamic hashing and caching; stripfiles, bitmaps and arithmetic coding. Among the book's powerful algorithms, the author presents a little-known sorting algorithm that can dramatically increase the sort performance of large databases. In addition, he presents an advanced hashing algorithm that dynamically resizes its capacity. The book presents many real-life examples based on practical experience, and it's written to be "programmer-friendly," with no unexplained jargon.


Editorial Reviews

Amazon.com Review

Written in an exceptionally clear style that doesn't skimp on technical detail, Steve Heller's guide offers several high-performance search and data-compression algorithms, which are all you need to add speed to C++. Early sections of the book address the advantages of optimizing C++, which the author considers something of a lost art. Instead of just investing in faster hardware, the author makes the case that optimizing code can result in faster, more useful programs.

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

Preface

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.

Product Details

  • Paperback: 416 pages
  • Publisher: Prentice Hall PTR (July 9, 1998)
  • Language: English
  • ISBN-10: 0139774300
  • ISBN-13: 978-0139774300
  • Product Dimensions: 9.1 x 7 x 1.5 inches
  • Shipping Weight: 1.8 pounds
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #2,985,754 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

7 Reviews
5 star:
 (3)
4 star:    (0)
3 star:
 (2)
2 star:    (0)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
3.3 out of 5 stars (7 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

14 of 16 people found the following review helpful:
1.0 out of 5 stars Not C++ and not optimizing C++, October 25, 1999
By 
J. Clarke (Edinburgh, UK) - See all my reviews
(REAL NAME)   
This review is from: Optimizing C ++ (Paperback)
This book is a collection of specific techniques, such as algorithms for sorting and data compression. Unless you have a very specialist need, these techniques are unlikely to be useful - these things are carried out by 3rd party products or using simpler, but perfectly adequate methods in most applications.

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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


8 of 9 people found the following review helpful:
3.0 out of 5 stars Misleading C++, December 21, 1999
By 
Maxim (Far Rockaway, NY USA) - See all my reviews
(REAL NAME)   
This review is from: Optimizing C ++ (Paperback)
Cons: As the guys have already mentioned this book has virtually (: nothing to do with C++ - specific optimization. Using the "class" keyword in the book a couple of times hardly justifies the title. What especially pisses me off is the "Based on the new ANSI Standard C++" quote on the cover. The poorly-formatted code which takes up 1/2 the book is really annoying, too. Pros: But aside that the book presents a bunch of useful specific techniques which are rarely covered in other books. If you find a place for these techniques in your code the book may be a life-saver. Source is included on disk. Overall: I would not reccomend buying the book before finding out whether the included material is relevant. For a good C++ - specific performance-issue book see Efficient C++ by Dov Bulka. It covers inheritance, inlining, templates, temporaries - REAL C++ issues, and I found it quite readable. max khesin.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful:
1.0 out of 5 stars Should be Optimizing C, not C++, April 7, 1999
This review is from: Optimizing C ++ (Paperback)
I think the book illustrated some useful implementations of speedy algorithms, but it is in no way is related to C++. When you see fopen, malloc, and free being used in every program, that should tell you something about how much useful C++ is contained within. I was disappointed with what I read within for the most part. The timings in the first chapter were performed on a 33 MHz i386, come on. That machine is ancient and does not represent any of some of the greatest computational architectural advances of all time. If you want to learn in limited scope, specific case speedups to C code, this book is for you. It is not for me.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews





Only search this product's reviews



Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(26)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject