[Development] Qt6 source changes

Olivier Goffart olivier at woboq.com
Fri Nov 2 10:06:57 CET 2018

On 02.11.18 09:20, Ulf Hermann wrote:
>> Depends on usage.
>> See e.g. 551efd91990e07902e5324f720cf5585865c323d
>>      QmlProfiler: Use QList for QmlRange container when loading .qtd
>>      As we are using this as a queue, with many calls to takeFirst(), a
>>      QVector is prohibitively expensive here.
> I should have used QQueue there, and that will hopefully still be a
> linked(-ish) list in Qt6. Or it might become a ring buffer, but please
> not a plain vector.
> If we don't want to keep QQueue, I will still have the option to use an
> equivalent std container there (+/- implicit sharing).

Right, in this case std::deque would probably be a better fit. You do not need 
implicit sharing, and std::deque still tries to optimize for cache, and will 
not call the move constructor on every element each time it has to "re-locate"
(We should probably deprecate QQueue right now and tell people to use std::deque)


Woboq - Qt services and support - https://woboq.com - https://code.woboq.org

More information about the Development mailing list