Thiago Macieira wrote: > In the case of QRegExp, I sat down with Lars and João yesterday to discuss a > bit and we talked about QRegExp. We don't know what to do with it because we > want to, at the same time: > > * move the current engine out > * use a high-performance engine in QtCore > * not increase the footprint of QtCore by too much > * not restrict the platforms unnecessarily > * avoid code duplication > * avoid converting from UTF-16 to UTF-8 or, worse, local 8 bit > > We're not going to get them all, that's for sure. On one hand, the V8 engine > is very performant, works on UTF-16 and avoids code duplication, but it > increases the footprint and restricts the platforms addressed. On the other, > PCRE is performant too, works almost everywhere and is small, but requires > UTF-8←→UTF-16 conversion. > > I believe the standard WebKit has a PCRE engine inside, modified to work on > UTF-16. That's also an option, but it is code duplication and causes us to > have to maintain it. > > So maybe the solution is a hybrid: dlopen V8 where it is available, fall back > to libpcre otherwise. And crash if none is found. That means using regexps > will cause a library to be loaded, one that can be as big as V8. > > What does everyone think?
I'll explicitly state two points that I think should be kept in mind in this discussion. As long as QtWebKit, QtScript, QtDeclarative are using V8, using that as the backend for QRegExp's-evolution-or-replacement as well allows us to have a single engine, syntax and implementation across the Qt stack. I think this is a very desirable feature. Of course, it has to be weighed with the other issues at stake. Secondly, if we decide to use a different RE engine for QRegExp's-evolution-or-replacement, picking different engines according to platform or configuration opens the door to subtle cross-platform differences. It would be best if we can avoid them. Particularly so in Qt Core. Cheers, João _______________________________________________ Qt5-feedback mailing list [email protected] http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback
