Go to file
Kent Hansen a48e9af146 Boost performance of QChar::isLetter
Make it inline; add fast checks for ascii letters;
add fallback function that uses the fastcall calling
convention.

On ia32, this change makes isLetter ~370x faster for
ascii letters, ~250x faster for non-letter ascii
characters, and ~1.5x faster for non-ascii characters.

Note that this change is NOT binary compatible.

Also add an autotest with expected results from
before the optimization, to ensure that the
behavior is the same.

Change-Id: I06f8d3d43114537cee5567e670898cef6494c20a
Reviewed-on: http://codereview.qt-project.org/4903
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2011-09-15 20:39:28 +02:00
bin Merge branch 'refactor' 2011-09-13 08:54:45 +02:00
config.profiles Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
config.tests Fix for wayland config.test 2011-09-07 14:04:02 +02:00
dist added QMAKE_MOC_OPTIONS variable to qmake 2011-09-07 19:04:20 +02:00
doc/src Merge branch 'master' into refactor 2011-08-25 12:48:52 +02:00
examples Get the 'dockwidgets' example to compile. 2011-09-15 09:11:35 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Ensure build_all is propagated to all modules when appropriate. 2011-09-15 01:03:11 +02:00
qmake Merge branch 'refactor' 2011-09-13 08:54:45 +02:00
src Boost performance of QChar::isLetter 2011-09-15 20:39:28 +02:00
tests Boost performance of QChar::isLetter 2011-09-15 20:39:28 +02:00
tools Ensure build_all is propagated to all modules when appropriate. 2011-09-15 01:03:11 +02:00
util drop an obsolete QChar::NoCategory enum value 2011-07-13 13:31:13 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Remove uilib and QtUiTools from QtBase 2011-09-13 20:11:40 +02:00
.gitmodules Add QtV8 library to QtBase 2011-08-29 10:16:01 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Re-add QT_GCC_*_VERSION qmake variables 2011-09-15 16:36:34 +02:00
configure.exe New configure.exe binary 2011-09-05 08:55:31 +02:00
header.BSD Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
header.FDL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL Update licenseheader text in source files for qtbase Qt module 2011-05-24 12:34:08 +03:00
header.LGPL-ONLY Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
INSTALL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Fix make confclean 2011-09-12 16:03:47 +02:00
sync.profile Remove uilib and QtUiTools from QtBase 2011-09-13 20:11:40 +02:00