Linux perf for Qt developers QtCon presentation
Are you a Qt developer and do you use Linux as your development platform of choice? Then this talk is for you:
I will introduce you to perf, the Linux tool suite for performance analysis. The talk will not only cover a broad part of what perf has to offer, it will also dive into details in how it is applicable to Qt developers in particular. Afterwards, you will know how to use perf to find CPU hotspots in your code as well as some tricks to profile wait times for lock contention issues or disk I/O.
Linux perf is a tremendously powerful tool suite for performance analysis: It can do basically everything, from CPU sampling profiling to tracing of syscalls or even dynamic tracepoints in your own code.
While perf is powerful, it is also quite complex and hard to master: Currently, it consists of more than twenty tools, most of which often require custom configuration to get conclusive results. Thus, newcomers have a hard time overcoming the steep learning curve.
This talk aims at shortcutting this process by lying the foundation for any user-space developer to get started with Linux perf. We will cover the basic ways to profile CPU hotspots and dive into some more involved tricks to investigate lock contention or latency issues. Finally, an introduction to custom profiling and data evaluation with Python scripting will be given.
While most parts of this talk will be interesting to any user-space developer on Linux, we will also cover some parts where Linux perf and Qt work particularly well together.