Details
-
Task
-
Resolution: Done
-
P3: Somewhat important
-
6.0.0
-
None
-
-
13
-
2696d5a71b16e4288f4b071f9291cec7f719455a
-
Qt6_Foundation_Sprint 38, Qt6_Foundation_Sprint 39, Qt6_Foundation_Sprint 40
Description
At present, QString's number-formatting code is delegated to QLocale machinery that's slowed down by taking locale-awareness into account, which makes it significantly more complex than the C-locale processing that QString is actually exercising.
Implementing a separate code-path optimised for the C locale, for use by QString (and QLocale::c()) could deliver a significant performance improvement.
Attachments
Issue Links
- relates to
-
QTBUG-87330 QList - double performance drop
-
- Closed
-
For Gerrit Dashboard: QTBUG-88484 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
361154,8 | Add benchmarks for QString::number | dev | qt/qtbase | Status: MERGED | +2 | 0 |
361155,12 | QString::number(int): Avoid going through qlocale machinery | dev | qt/qtbase | Status: MERGED | +2 | 0 |
361175,10 | WIP: QString::number(double): avoid QLocale machinery | dev | qt/qtbase | Status: ABANDONED | -2 | 0 |
361494,28 | QString::number(double): Disentangle from the QLocale path | dev | qt/qtbase | Status: MERGED | +2 | 0 |
361963,9 | QString: extend number(double) formatting test | dev | qt/qtbase | Status: MERGED | +2 | 0 |
362328,8 | QByteArray::number(double): Extend the test | dev | qt/qtbase | Status: MERGED | +2 | 0 |
362619,13 | Make double-formatting code ready for QByteArray | dev | qt/qtbase | Status: MERGED | +2 | 0 |
362620,14 | QByteArray: Disentangle number(double) from QLocale | dev | qt/qtbase | Status: MERGED | +2 | 0 |
364131,6 | QString/QByteArray::number(double): Test big numbers | dev | qt/qtbase | Status: MERGED | +2 | 0 |