Optimized C++: Proven Techniques for Heightened Performance
- Length: 388 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2016-05-23
- ISBN-10: 1491922060
- ISBN-13: 9781491922064
- Sales Rank: #619598 (See Top 100 Books)
In today’s fast and competitive world, a program’s performance is just as important to customers as the features it provides. This practical guide teaches developers performance-tuning principles that enable optimization in C++. You’ll learn how to make code that already embodies best practices of C++ design run faster and consume fewer resources on any computer—whether it’s a watch, phone, workstation, supercomputer, or globe-spanning network of servers.
Author Kurt Guntheroth provides several running examples that demonstrate how to apply these principles incrementally to improve existing code so it meets customer requirements for responsiveness and throughput. The advice in this book will prove itself the first time you hear a colleague exclaim, “Wow, that was fast. Who fixed something?”
- Locate performance hot spots using the profiler and software timers
- Learn to perform repeatable experiments to measure performance of code changes
- Optimize use of dynamically allocated variables
- Improve performance of hot loops and functions
- Speed up string handling functions
- Recognize efficient algorithms and optimization patterns
- Learn the strengths—and weaknesses—of C++ container classes
- View searching and sorting through an optimizer’s eye
- Make efficient use of C++ streaming I/O functions
- Use C++ thread-based concurrency features effectively
Table of Contents
Chapter 1. An Overview of Optimization
Chapter 2. Computer Behavior Affecting Optimization
Chapter 3. Measure Performance
Chapter 4. Optimize String Use: A Case Study
Chapter 5. Optimize Algorithms
Chapter 6. Optimize Dynamically Allocated Variables
Chapter 7. Optimize Hot Statements
Chapter 8. Use Better Libraries
Chapter 9. Optimize Searching and Sorting
Chapter 10. Optimize Data Structures
Chapter 11. Optimize I/O
Chapter 12. Optimize Concurrency
Chapter 13. Optimize Memory Management