Platform and tools

Now, as we already know what kinds of tools can be used for profiling, there will come a time when we will have to get our hands dirty and delve deeper into typical performance optimization work. For you to be able to reproduce it, we have to agree on the exact versions of our frameworks and tools. To make it short, we've decided on the following:

  • Qt 5.9 LTE
  • Windows 10
  • Open source tools

This warrants some explanation, so read on. Let's start with the Qt framework.

Qt has many different versions and releases, but in this book, we have chosen to concentrate on the current (at the time of writing) long-term support (LTS) version, namely Qt 5.9—as it's the recent most stable release. Admittedly, a preview version of Qt 5.11 was present in the distribution, but we have, much to my regret, to ignore it.

Qt is a multiplatform framework; it supports Linux, as well as Mac, and Windows, all the way down to embedded operating systems. However, most of the books that teach Qt development on Linux introduce Linux development and performance toolsets.

In this book, we will take an unfamiliar path—we will choose the Windows platform in its newest incarnation: Windows 10. The reason is that most commercial Qt work is done on Windows, and, frankly, Windows is a pretty widespread platform, isn't it? For my part, I have used it in most of my projects, and I could use Qt on Linux only when working in embedded projects. Secondly, I think that Windows is treated somehow unfairly as a development platform. There's a lot of excellent tooling there that is less known than its Linux equivalents, but is well worth discovering and appreciating.

In the course of this book, we will, of course, mention Linux tools where appropriate, but for the reader to follow along, the examples and explanations will be Windows-specific. 

Moreover, to make this book approachable to everyone, we will try to use open source tools where appropriate. Commercial alternatives will be mentioned as well, which hopefully will lead to some thrilling comparisons.