Skip to content

Efficient C++: Performance Programming Techniques

Select Format

Select Condition ThriftBooks Help Icon

Selected

Format: Paperback

Condition: Very Good

$4.69
Save $35.30!
List Price $39.99

1 Available

Book Overview

Far too many programmers and software designers consider efficient C++ to be an oxymoron. They regard C++ as inherently slow and inappropriate for performance-critical applications. Consequently, C++... This description may be from another edition of this product.

Customer Reviews

5 ratings

Best source to understand C++ perormance issues

I think that the book is almost unique in the quest of writing fast C++ code (something that you could naively think is straight-forward with that language). The only similar text of these characteristics is the "JSF++ coding guidelines for critical systems" from B. Stroustrup et al. I do not know another one for C++. After reading this book and the JSF++ guidelines, I understand a bit more the comments from L. Torvalds about C++ ([...]). Enjoy reading it:)

An efficient way to come up to speed on C++ efficiency.

I was really pleased to find this book at Borders. When I saw the title I thought that this was the book we were really missing among other excellent books on C++. The style is extremely clear and the text is accessible, even to programmers who are not C++ experts.The diagrams are just adequate , complementing the text in a concise way. The example code, coming from the trenches is well chosen and is not artificial or bulkier than necessary for a book. It is an easy to read, even on the plain or train or in your "copious" spare time. It is a must read for the serious C++ programmer, trying to improve their C++ knowledge.

When efficiency matters, which is always, read this book

There are two different categories of efficiency considerations: those that you do because they are necessary and those done only when necessary. The first category consists of those changes that make the code run faster and cleaner, whether it be on a silicon or carbon based CPU. The second category becomes significant when, no matter how clean your design and completion of the first category, the hard requirements are such that the executable just does not perform to the velocity specifications. This second category is where the danger lies, because changes here often are at the expense of portability, readability or maintainability. The first category are all no-brainers, while the second will often cause headaches, either now or in the future. Both categories are fully represented in this book, and even in the age of gigaflop desktop devices, the first should be implemented with all the due regard of a religion. For many of them save more than just clock cycles. In so many cases, the result is code that is much more elegant and easier to read, which translates into long-term savings. C++ is a very flexible, powerful language, but it does have some significant inherent performance hazards. Constructor calls are automatically generated by C++ compilers in many places where you would not on first pass suspect them. I have been teaching and writing C++ code for almost a decade and there were some that I had not thought about. However, once noted, they are relatively easy to avoid, a point where the authors are very clear. This feature alone is enough for managers to buy copies for all C++ developers and use the examples in this book to construct company wide coding guidelines. The second category is of course more problematic, but we all know that it happens. If you are ever in the situation where you must optimize further, even at the cost of portability and future maintenance, then you will appreciate the strategies enunciated in this book. Of the many C++ books that I have read in the many years that I have been working and reviewing, I firmly believe that this one may be the most valuable. Efficient code is still very important and in less than three hundred pages, the authors give you a plan that may save you precious body parts.

Informative through painful personal experiences

To start, I have to say that this book is well written. By using examples from personal experience, they also keep you very involved. So far, I have been forced to put the book down, in order to test the examples they describe. I was astonished with their first example, where a poorly thought out Trace class caused performance to drop 80%. Talk about bang for the buck! By reading this book, I expect to give a great deal more thought to the performance implications from the start. Good job guys!

How to Make C++ Programs Run Faster and Cleaner

There are two different categories of efficiency considerations: those that you do because they are necessary and those done only when necessary. The first category consists of those changes that make the code run faster and cleaner, whether it be on a silicon or carbon based CPU. The second category becomes significant when, no matter how clean your design and completion of the first category, the hard requirements are such that the executable just does not perform to the velocity specifications. This second category is where the danger lies, because changes here often are at the expense of portability, readability or maintainability. The first category are all no-brainers, while the second will often cause headaches, either now or in the future. Both categories are fully represented in this book, and even in the age of gigaflop desktop devices, the first should be implemented with all the due regard of a religion. For many of them save more than just clock cycles. In so many cases, the result is code that is much more elegant and easier to read, which translates into long-term savings. C++ is a very flexible, powerful language, but it does have some significant inherent performance hazards. Constructor calls are automatically generated by C++ compilers in many places where you would not on first pass suspect them. I have been teaching and writing C++ code for almost a decade and there were some that I had not thought about. However, once noted, they are relatively easy to avoid, a point where the authors are very clear. This feature alone is enough for managers to buy copies for all C++ developers and use the examples in this book to construct company wide coding guidelines. The second category is of course more problematic, but we all know that it happens. If you are ever in the situation where you must optimize further, even at the cost of portability and future maintenance, then you will appreciate the strategies enunciated in this book. Of the many C++ books that I have read in the many years that I have been working and reviewing, I firmly believe that this one may be the most valuable. Efficient code is still very important and in less than three hundred pages, the authors give you a plan that may save you precious body parts.
Copyright © 2022 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell My Personal Information | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured