Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.5.1, 5.6.2, 5.7.1, 5.8.0 RC, 5.14.1, 5.15.0 Beta2
-
Win 10 x64 VS 2013/2015, macOS 10.15
-
-
b64f8dacae36fca948933cf56498d5e4ad3e2a07 f1410debc7905e704b6ed16ae345e43765ef8ef5
Description
QQmlPropertyMap::insert(const QString &key, const QVariant &value) has O(N^2) complexity when inserting new properties. Feels like it should be linear or O(n log n) at least. This leads to UI freezes for a significant amount of time.
My numbers are (i7-2760 2400 MHz):
500 301 ms
1000 1206 ms
1500 2689 ms
2000 4759 ms
2500 7546 ms (UI is blocked for 7 secs here!)
Upd:
Found this one marked as done – https://bugreports.qt.io/browse/QTBUG-32720
Looks like it's a regression
Attachments
Issue Links
- is duplicated by
-
QTBUG-32720 QQmlPropertyMap bad performances at insertion
- Closed
- relates to
-
QTBUG-90004 Investigate whether QQmlCleanup can be removed
- Closed
For Gerrit Dashboard: QTBUG-57792 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
329839,4 | QQmlPropertyMap: Add a method to insert multiple values at once | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
329847,7 | Add a freeze() method to QQmlPropertyMap | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |