|2020ok Directory of FREE Online Books and FREE eBooks|
by Steve Heller
(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.)
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
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.
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:
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.
Related Free eBooks