Milian Wolff
23 results
Efficient embedded development relies on consistent environments, smart dependency management, and robust CI pipelines. Containers ensure reproducibility and streamline onboarding, while balancing source builds and pre-built packages keeps dependencies manageable. Optimized CI with parallel tests and hardware-in-the-loop improves feedback and quality. Incremental refactoring with atomic commits enables continuous improvement without disrupting development.
While some methodologies, workflows, and tools are specific to an individual domain, many are applicable regardless of whether you’re developing a web service, embedded device, mobile app, or desktop application. This whitepaper gives a few general best practices widely applicable to most development projects.
Hotspot is a standalone GUI designed to provide a user-friendly interface for analyzing performance data. It takes a perf.data file, parses and evaluates its contents, and presents the results in a visually appealing and easily understandable manner. Our goal with Hotspot is to offer a modern alternative to perf report, making performance analysis on Linux […]
I'm happy to announce the immediate availability of Heaptrack v1.5.0. Heaptrack is a heap memory profiler targeting mainly Linux, as well as FreeBSD. To learn more, please visit the project website. Version 1.5.0 incorporates about 70 changes since the v1.4.0 release from June last year. The highlights include: - Elfutils is now used for symbolizing […]
Hotspot 1.4.0 has been released! Hotspot is a replacement for perf report. It's a GUI for the perf profiler that takes a perf.data file, parses and evaluates its contents, and then displays the result in a graphical way. This feature release contains close to 400 commits since the last stable v1.3.0 release. It comes with […]
This is the third and last installment of our series about full stack tracing. If you haven’t read them yet, you’ll probably want to check out the introduction and tool setup portions first. In this blog, we’re going to focus on visualizing and interpreting full stack traces. At this point, we’re going to assume that […]
If you’ve read the first article in this series, you’ll know what full stack tracing is and why you definitely want it. This time, we’ll show you how to setup full stack tracing on your Linux system. There are two steps – first get everything configured to capture a trace, and then view and interpret […]
Full stack tracing is a tool that should be part of every software engineer’s toolkit. It's the best way to investigate and solve certain classes of hard problems in optimization and debugging. Because of the power and capability it gives the developer, we’ll be writing a series of blogs about it: when to use it, […]
Heaptrack Version 1.2.0 Released
Maintenance release of the fast Linux heap memory profiler
3 September 2020
We have just released version 1.2.0 of Heaptrack, the fast heap memory profiler for C++/Linux applications. A bit of Background The Heaptrack fast heap memory profiler allows you to track all heap memory allocations at run-time. Afterwards, you can use the accompanying GUI tool to find optimization opportunities in your code by analyzing the recorded […]
We are pleased to announce a new release of our Hotspot Linux perf performance analysis GUI, Hotspot version 1.3.0! Hotspot is a replacement for perf reportthat takes a perf.data file, parses and evaluates its contents, and then displays the result in a graphical form. You can read a bit more about Hotspot here. Overview of […]
Working on color imagery for QiTissue recently, I realized we were accidentally losing the alpha channel in multiple places. For efficiency reasons, we keep colors in memory using the QRgb type, and convert that to/from QString for serialization purposes via QColor as needed. Here's what I discovered about why that doesn't work, and some ways […]
Sometimes it seems that we have nearly infinite memory resources, especially compared to the tiny 48K RAM of yesteryear’s 8-bit computers. But today’s complex applications can soak up megabytes before you know it. While it would be great if developers planned their memory management for all applications, thinking through a memory management strategy is crucial […]
At KDAB, we know that consistency is an important aspect of the User Experience - users don’t want to have to learn different ways to achieve the same thing. In the Linux world, there is a major structural pitfall to this: the applications written for Linux come in at least two major technologies - Qt […]
After more than a year of work, I'm pleased to release another version of heaptrack, the Linux memory profiler! The new version 1.1.0 comes with some new features, significant performance improvements and - most importantly - much improved stability and correctness. If you have tried version v1.0 in the past and encountered problems, update to […]
Linux perf is an immensely useful and powerful tool suite for profiling of C/C++ applications. I have used it extensively and successfully on various customer projects, both for desktop applications as well as automotive or industrial projects targeting low-end embedded Linux targets running on ARM hardware. The biggest problem with perf really is its usability, […]
Hotspot v1.1.0 adds timeline and recording features
New release of the GUI for the Linux perf profiler
29 September 2017
Close to three months after the initial hotspot release, I'm happy to announce the release of version 1.1.0. Quick recap: Hotspot is a graphical frontend to the Linux perf profiler suite. It allows you to visually analyze perf.data files with the built-in Flame Graph and the Bottom-Up, Top-Down, or Caller-Callee data tables. It is a […]
After many months of work, I'm very pleased to finally announce KDAB's latest R&D project to the public: hotspot - a GUI for the Linux perf profiler. I have used Linux perf a lot over the past years. It is an extremely powerful and useful tool. But its complexity makes it very hard to use. […]
QZXing is a very useful library: It provides an easy to use Qt integration API around the barcode scanning library ZXing (zebras crossing). Because it is so easy to setup QZXing in a Qt application, we and most of our customers end up using it when they need to scan images for barcodes. There is, […]
I'm extremely happy to finally announce the first stable release of heaptrack, the FOSS heap memory profiler for C/C++ Linux applications. You can download the source tarball from the KDE mirrors: https://download.kde.org/stable/heaptrack/1.0.0/src/ Heaptrack is a fast heap memory profiler that runs on Linux. It allows you to track all heap memory allocations at run-time. Afterwards, […]
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 […]