What this book covers

Chapter 1Understanding Performant Programs, introduces you to the world of performance, discusses modern processor architectures, and recounts some traditional performance wisdom.

Chapter 2Profiling to Find Bottlenecks, looks at the tooling we use to diagnose performance problems, concentrating specifically on the tools available on Windows.

Chapter 3Deep Dive into C++ and Performance, takes a closer look at the C++ 11 language, its general performance, the performance of its numerous features, and the role of compilers and linkers in the performance game.

Chapter 4Using Data Structures and Algorithms Efficiently, discusses the performance impact of data structures and algorithms and then takes a closer look at the data structures used by Qt in its API and the associated performance gotchas.

Chapter 5An In-Depth Guide to Concurrency and Multithreading, describes multithreading concepts, Qt multithreading classes and techniques, explains the multithreading is hard mantra, and offers some techniques for minimizing multithreading costs and pitfalls.

Chapter 6Performance Fails and How to Overcome Them, looks back at some performance challenges I encountered during my work.

Chapter 7Understanding I/O Performance and Overcoming Related Problems, turns our attention to the unglamorous theme of reading, writing, and parsing files, as well as unexpected interactions with a number of OS mechanisms.

Chapter 8Optimizing Graphical Performance, looks at the main usage scenario of Qt—writing graphical UIs. We will learn about GPUs, and their performance and usage in Qt. Later, we will have a look at the main classes of Qt Widgets and Qt Quick and will discuss what their performance depends upon.

Chapter 9Optimizing Network Performance, introduces basic networking concepts, the TCP and HTTP protocols, the Qt classes supporting them, and the network optimization techniques available in Qt.

Chapter 10Qt Performance on Embedded and Mobile Platforms, looks at mobile and embedded usage of Qt. It builds on the knowledge we acquired in the previous chapters to examine the specific performance challenges faced by Qt on those platforms.

Chapter 11Testing and Deploying Qt Applications, ends this book with a discussion of testing and deployment tools and techniques.