Hi,

On 25-04-20 16:49, André Pönitz wrote:
We all know the story that began with

     "We knew for a long time that QList is not a good default
     container, despite what the documentation claims. The problem
     boils down to the fact that for a lot of types T, QList<T> is
     needlessly inefficient by allocating elements on the heap and
     storing pointers to them instead of storing the elements
     in-place, like e.g. QVector does. Sometimes, for large and
     complex types, that might be exactly what you want, but a
     conservative estimate would put that chance at less than 5%." [1]


I was curious how this "conservative" estimate of "less than 5%"
manifests in real QList object instances in a real world example.

My random picks of real world examples usually end up with "Loading
the Qt Creator project in Qt Creator itself", and "statistics" is
something I make up myself, in this case it is looking at QList objects
at destruction time, and sorting them a bit according to size of
the items in the list, number of items still present at that time etc.

Besides being simple to do it's rather close to the typical use I see,
where containers are filled up, accessed/used a few times and destroyed
without much intermediate size changes.

Wouldn't you think that by now most cases where QList was *not* great to use have been replaced in QtC already, exactly because it's downsides have been known for quite a while now? I am going to assert that will skew your statistics, and thus make it basically impossible to draw any kind of conclusion from them.

André



_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to