Details
-
Epic
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
s/yarr/QRegularExpression/g
Description
Regular expressions in QML are implemented by relying on (an internal fork of) a version of YARR (from Webkit).
This has the benefit that the regexp engine is integrated with QML's memory manager (so memory usage from them is accounted on the QML heap, not the native heap).
The disadvantage is that converting between QRegularExpression and QML RegExp objects is not free, and when "\u" or "\U" is used, there are also differences in behavior. As discussed in https://codereview.qt-project.org/c/qt/qtdeclarative/+/612762/1/src/qml/jsruntime/qv4regexp.cpp#229 it also requires quite a bit of (ROM)
We should investigate exposing EXTRA_ALT_BSUX in QRegularExpression (at least internally), and then check the impact fo replacing YARR with QRegularExpression in QML