Go to file
Marc Mutz 4a40c717f3 Optimize QString::compare_helper(QChar*, int, char*, int, cs)
... by using the recently-added QUtf8::convertToUnicode()
and a QVarLengthArray instead of QString::fromUtf8().

Like elsewhere in QString, use a QVarLengthArray<ushort>
instead of the more natural <QChar> to avoid instantiating
another QVLA.

Assume that length2 is usually set to a non-negative value.
Not because that's necessarily the frequent case, but
because a negative length2 leads to an expensive strlen,
that usually dwarfs the additional branch cost.

Check for data2 == nullptr early to avoid having to check
it later twice.

Change-Id: I04bda44ed857451efdf04c3283b5726480dd8c0d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-04 09:28:41 +00:00
bin Merge remote-tracking branch 'origin/5.6.0' into 5.7 2016-03-07 17:08:56 +01:00
config.tests Fix some syntax issues in SCTP implementation 2016-08-03 06:21:47 +00:00
dist Add Qt 5.7.0 changelog 2016-06-10 06:48:56 +00:00
doc Remove hiding of .main div in offline pages 2016-08-03 15:33:49 +00:00
examples Polish SCTP examples 2016-08-03 11:46:21 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
qmake Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
src Optimize QString::compare_helper(QChar*, int, char*, int, cs) 2016-08-04 09:28:41 +00:00
tests Fix grayscale painting regression in 64-bit raster engine 2016-08-03 15:35:28 +00:00
tools Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
util Handle indirect sibling selector 2016-07-27 20:18:02 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
.qmake.conf Bump version 2016-07-28 13:50:04 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt Introduce SCTP sockets support 2016-07-27 06:37:24 +00:00
configure Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
configure.bat Don't compile configure.exe with clang-cl.exe if cl.exe is available 2016-07-21 00:16:04 +00:00
configure.json Merge remote-tracking branch 'origin/5.7' into dev 2016-08-01 18:20:00 +02:00
configure.pri Replace EXTRA_LIBS with EXTRA_LIBDIR and EXTRA_FRAMEWORKPATH 2016-07-13 19:51:34 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.BSD-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.FDL-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-NOGPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
qtbase.pro Remove the -qconfig command line argument 2016-04-19 14:01:40 +00:00
sync.profile Add qtdbusglobal.h and qtdbusglobal_p.h 2016-07-14 06:06:43 +00:00