2020ok  Directory of FREE Online Books and FREE eBooks

Free eBooks > Computers & Internet > Web Development > HTML, Graphics, & Design > Web Graphics > Optimizing C++

Optimizing C++

by Steve Heller

Download Book
(Respecting the intellectual property of others is utmost important to us, we make every effort to make sure we only link to legitimate sites, such as those sites owned by authors and publishers. If you have any questions about these links, please contact us.)

link 1
link 2

About Book

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

Book Description

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.

Book Info
Introduces a collection of powerhouse algorithms that can supercharge virtually any C++ program, from streamlining random access to variable-length records, to speeding large database sorts. CD-ROM included. Paper. DLC: C++ (Computer program language).

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.

From the Back Cover


The programmer-friendly guide to maximizing C++ application performance!

Getting a program to work is just the beginning: it must work efficiently, making the most of limited time, memory, and disk space. Now, legendary programmer Steve Heller —author of the best-seller Who's Afraid of C++?— introduces a collection of power house algorithms that can supercharge virtually any C++ program. From streamlining random access to variable-length records to speeding large database sorts, you'll find it here-along with practical, “nothing-left-out” explanations. Coverage includes:

  • Advanced dynamic hashing and caching algorithms.
  • Bitmaps and other data compression techniques.
  • Fast-sorting algorithms that use memory efficiently.

Based on the new ANSI C++ standard, this “programmer-friendly” book includes extensive real-life examples and code samples - all personally typeset by the author to minimize the chance of error. If you want to squeeze every last drop of performance out of your C++ code, Optimizing C++ is the book you've been waiting for!

The accompanying CD-ROM includes a complete collection of Steve Heller's Optimizing C++ algorithms, plus an industrial-strength C++ compiler.

About the Author

Steve Hellerhas been a professional programmer for 25 years, and is author of Who's Afraid of C++? Heller is President of Chrysalis Software Corporation in Plano, TX.



PLEASE READ: All comments must be approved before appearing in the thread; time and space constraints prevent all comments from appearing. We will only approve comments that are directly related to the article, use appropriate language and are not attacking the comments of others.

Message (please, no HTML tags. Web addresses will be hyperlinked):

Related Free eBooks

Related Tags

DIGG This story   Save To Google   Save To Windows Live   Save To Del.icio.us   diigo it   Save To blinklist
Save To Furl   Save To Yahoo! My Web 2.0   Save To Blogmarks   Save To Shadows   Save To stumbleupon   Save To Reddit