Deep Dive into C++ and Performance
In this chapter, we will take a closer look at Qt's underlying language and its standing in the matter of performance. We will look at the design philosophy of C++, some problematic and some good features, and the impact the recent C++ standard updates have had on program optimization. We will also discuss what compilers and other tools can do for program performance.
The topics that will be covered are as follows:
- C++ philosophy—what were Bjarne's guidelines when designing C++
- Traditional C++ optimizations—the basics we have always done
- C++11/14/17 and performance—what performance nuggets are hidden there
- What your compiler can do for you—a lot, you'd be surprised
- Optimization tools beyond compiler—because the story doesn't end there
Admittedly, an entire book could be written on these topics and, indeed, there are some of them out there (see the Further reading section later), so you cannot expect to learn all of it from a single chapter. What we strive for is to give the reader an overview of the important themes, so that we will have a strong basis when discussing Qt's performance.