KDAB is proud to be a Silver Sponsor at this year’s Meeting C++, a highly recommended 3-day hybrid event for the European C++ community, offering 44 Talks in 4 tracks, November 12th – 14th. While this is also an in-person event, there is a substantial concurrent online program, so that high-class international speakers can easily […]
Blog Archives
Qt Developer Conference A Conference from Developers for Developers
We at KDAB are pleased to announce an event we’re planning to host in Berlin this fall, September 28-30. Save the dates for KDAB’s Qt Developer Conference — a conference from Qt developers for Qt developers! Qt Desktop Days, May 2021 — Cancelled Before we tell you more about Qt Dev Con, we’d like to […]
KDE’s Akademy 2020 – A Quick Summary
What is Akademy? Akademy is the yearly conference for the KDE community, which is a community devoted to creating free software for desktop and mobile. Typically, Akademy takes place in a different city each year. However, due to the pandemic, the conference was online this time around. September 4-11 marked the dates of Akademy 2020. […]
The Eight Rules of Multithreaded Qt The biggest dos and don'ts for multi-threading in Qt
While the concept of multithreading may be straightforward, code with threads is responsible for some wicked bugs, which can be nearly impossible to reproduce or track down. This makes writing bullet-proof code using threads a tall order. Let’s look a little deeper into why that is. First, you need better than average knowledge about the […]
Qt 3D: One too many threads or what has changed in 5.14
Qt 3D makes heavy use of threads, as a way to spread work across CPU cores and maximize throughput, but also to minimize the chances of blocking the main thread. Though nice on paper, the last case eventually leads to added complexity. Sometimes, there are just one too many threads. In the past, we’ve been […]
Little Trouble in Big Data – Part 2 improving CPU utilization across cores
In Part 1 of this series we solved the problem of using mmap() to load large set of data into RAM all at once. The catch was that it still took too long. In this blog, I describe how we solve this.
Little Trouble in Big Data – Part 1 how to use mmap() to load a large data set into RAM
We got a call from a bioinformatics group at a European university. The problem appeared simple, how to usemmap() to load a large data set into RAM all at once. OK, no problem I thought...
New in Qt 5.10: QThread::create
If you are using Qt and you need to run some code in a separate thread, chances are that you are using QThread for the job. QThread is a very old class in Qt, making its first appearance in Qt 2.2, released on the 22nd of September 2000. Its responsibility is to start a new […]
A Race is a Race is a Race is UB An example of the difference between int, volatile int, and std::atomic
In the last days, I was once again trying to convince fellow programmers that there’s no such thing as a “benign” data race. This is a recurring theme, in particular fueled by the docs of MSVC and Intel x86, which basically seem to say “you don’t need atomics here”. I perused the excellent papers Benign […]
Multithreading with Qt How to leverage the modern C++11 threading capabilities in your Qt application
This talk introduces you to the fundamentals of threading in Qt. We will discuss how threads, QObjects and events interact together; how a thread affinity of a QObject has a play in signals and slots connections; and how you can leverage the modern C++11 threading capabilities in your Qt application. Cross-platform thread support was introduced […]