[Development] Is QtConcurrent's code generator still in use?
Morten.Sorvig at digia.com
Mon Nov 19 07:32:16 CET 2012
On Nov 14, 2012, at 4:24 PM, Christian Kandeler <christian.kandeler at digia.com> wrote:
> On 11/14/2012 12:17 PM, Sorvig Morten wrote:
>> QtConcurrent is done. The implementation is not good enough to be used as a base for further development.
> Can you be a bit more specific? What are the general problems and why
> can't they be easily solved?
Off the top of my head:
- It uses a code generator which falls out of sync (there were no variadic templates at the time).
- Unclear separation between inline template code and non-template library code. It's hard to say where the binary compatible interface is.
- To much template code, causing bloat.
- The core of a concurrency engine should be a work-stealing data structure/scheduler. Qt Concurrent has simple work-stealing functionality, but is to tied to the global thread pool.
The API works fine for what it does, but if we want to improve it it looks more like a rewrite rather than incremental patching to me.
More information about the Development