[Development] Is QtConcurrent's code generator still in use?

Sorvig Morten 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.

Morten




More information about the Development mailing list