On 11/2/18 10:10 AM, André Pönitz wrote: > On Fri, Nov 02, 2018 at 08:20:39AM +0000, 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). > > I am not saying that QVector or QList is the best container here, > it was just an example for a (rare...) case where a substitution > introduces a significant performance regression in real life. > > One concern here is also that the kind of regression can be hard to > discover as compilation succeeds, systematic performance testing > is often not done, and any manual testing before release usually > uses only smaller-than-normal sample sizes. So the first one to > notice the problem is the user of the code.
Introducing some new clazy checks specifically for catching issues for the Qt5->Qt6 port could help here. Of course, the developer still would need to actually run clazy... Nikolai _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
