Sign up for the KDAB Newsletter
Stay on top of the latest news, publications, events and more.
Go to Sign-up


Find what you need - explore our website and developer resources
30 December 2025
The video explains how to use the Heaptrack and Hotspot tools to profile C++ and other compiled-language applications on Linux, especially in embedded contexts, focusing on both CPU time and heap usage to systematically find and fix bottlenecks.
Milian Wolff presents Heaptrack for heap memory profiling and Hotspot as a graphical frontend for Linux perf to analyze on-CPU and off-CPU performance.
The talk targets single-machine Linux systems (embedded devices, desktops, servers) using compiled languages like C++ and Rust, not macOS or bare-metal setups.
Milian demonstrates sampling-based profiling via perf record plus stack unwinding (--call-graph dwarf) to collect call stacks, then visualizes them with Hotspot flame graphs.
He shows how this workflow quickly exposes obvious hotspots (e.g., an inefficient hash implementation using string construction), and how small code changes can yield large speedups by reducing allocations and copying.
The talk emphasizes distinguishing on-CPU from off-CPU time in sampling-based profiling (e.g., blocking on I/O or locks), since traditional sampling views often ignore time spent sleeping or descheduled.
It covers practical perf options (stack size, compression, frame pointers), limitations of unwinding, and newer Hotspot features such as interactive disassembly, Rust demangling, and by-file aggregation for complex control flows.
In the final part, Milian introduces Heaptrack to trace heap allocations and deallocations, attributing memory usage and allocation hotspots back to source locations.
Combined with Hotspot, Heaptrack provides a complementary view: CPU flame graphs for performance, and heap statistics for memory behavior, enabling developers to iteratively profile, inspect, and optimize embedded Linux applications.
Stay on top of the latest news, publications, events and more.
Go to Sign-up
Need help with performance issues?
Let the KDAB experts solve concrete performance problems, improve your software architecture or teach your team how to apply debugging and profiling tools to your developement process in the best way.
Get in touch