Status: In Progress
Priority: P1: Critical
Affects Version/s: 6.0.2, 6.1.0 Beta3
Fix Version/s: None
Component/s: Core: Containers and Algorithms
I'm opening a meta-bug to centralize the discussions regarding the behavioral and performance regressions of QList / QVector in Qt 6.0.
These are causing a number of other bugs, including memory leaks, performance degradations and whole crashes. (See the linked tasks).
A lot of discussion happened in the gerrit fixes for those bugs, making them hard to find and hard to track (discussions start in one issue and continue in another).
To summarize some of issues, at this moment:
- Q6Vector regressed API against Q5Vector: for instance, capacity() contract is now violated due to the prepend space.
- In general, Q6Vector will soft-leak memory (using more than necessary) because it will grow when prepending with no space on the left (but space available on the right). QTBUG-92912
- The current implementation of the prepend optimization degenerates on some inputs and triggers OOM.
|For Gerrit Dashboard: QTBUG-93019|
|346493,3||Introduce side-aware methods to QList: resize and reserve||dev||qt/qtbase||Status: NEW||0||0|
|350928,4||Introduce side-aware capacity-like methods to QList||dev||qt/qtbase||Status: NEW||0||0|