summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Trim the QString benchmark testThiago Macieira2014-08-099-76004/+2
| | | | | | | | | | | | | The comparison, Latin 1 and UTF-8 benchmarks contained in this file are stale. The implementation changed in Qt 5.3 and this benchmark couldn't be updated (test data too large for Qt). Please contact Thiago Macieira to obtain the benchmarks and test data. Change-Id: I48c19b1f1711eb73c953a30ed4da510e97a62472 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix int conversion to stringFrederik Gladhorn2014-08-081-2/+2
| | | | | | | clang warning: adding 'int' to a string does not append to the string Change-Id: I6dc393269a52e9482fde106c17132336cf5ce226 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Add missing to gui/kernel benchmarks.Jędrzej Nowacki2014-07-281-1/+3
| | | | | | | kernel.pro was not updated. Change-Id: Ibe11aaf5d6e788dacd2a2d33088fb9445334fb4e Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Remove useless QMetaType benchmarksJędrzej Nowacki2014-07-282-143/+7
| | | | | | | | | | | | | Cost of a type lookup for core built-in types is really small, just few cpu instructions, but the benchmark was testing create() and destroy() functions (in a different fashion) which by definition allocate and de-allocate memory. These memory operations are significantly more expensive which obfuscate the results. Change-Id: I33c679f57e6c2b57e98328f076dfe249ab7bcde8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Stephen Kelly <steveire@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Integrate tst_bench_qringbuffer into the build tree.Alex Trotsenko2014-07-251-0/+1
| | | | | Change-Id: Id1d091889c3ba5e343d1237f016fdc22f7dfe413 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix compilation on ARM without ARMv6T2Thiago Macieira2014-07-251-3/+3
| | | | | | | | | | | | | | | | | | The "rbit" instruction requires ARMv6T2 or higher. This was found in the CI when building the imx6 target: Compiler: arm-poky-linux-gnueabi-g++ Flags: -mfloat-abi=hard -mfpu=neon Errors from the assembler: {standard input}:3078: Error: selected processor does not support ARM mode `rbit r3,r3' {standard input}:7341: Error: selected processor does not support ARM mode `rbit ip,ip' That compiler defaults to ARMv5T. That's obviously wrong for an i.MX 6, which is a Cortex-A9 (ARMv7), but the correction applies for older processors. Change-Id: I56c276fa411977dd7cd867d62adf021e4909302c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Rewrite QRingBufferAlex Trotsenko2014-07-242-0/+91
| | | | | | | | | QRingBuffer is a fully inlined class used in many I/O classes. So, it must be as fast and small as possible. To this end, a lot of unnecessary special cases were replaced by generic structures. Change-Id: Ic189ced3b200924da158ce511d69d324337d01b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix some compiler warnings in benchmark tests.Friedemann Kleint2014-07-144-4/+9
| | | | | | | | | | | main.cpp(332) : warning C4307: '*' : integral constant overflow tst_qpainter.cpp(1293) : warning C4305: '+=' : truncation from 'double' to 'float' tst_qpainter.cpp(1474) : warning C4305: '+=' : truncation from 'double' to 'float' tst_qtbench.cpp(155) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data main.cpp(68) : warning C4189: 'fontHeight' : local variable is initialized but not referenced Change-Id: If6aadd50df7c5cf7d0f33791c9247730a47ddd27 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* MSVC: Fix the compilation of benchmark tests with strict string literals.Friedemann Kleint2014-07-101-1/+1
| | | | | | | Introduced by 9f0e5d00ab51cc7c0dc87c8d72f48c4e6edaf120 . Change-Id: I704501bd7e543d971f9b8c9e75746b5749126c5f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Check for boost header in sysrootRainer Keller2014-07-101-1/+1
| | | | | | | | The check has to detect if boost header is present in the system we are building for. Change-Id: I700a11df208c8852ba094d8bff387ad21fa309b2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Compile fix for configuration without SSL supportMaurice Kalinowski2014-07-071-0/+2
| | | | | Change-Id: Ic0f7e2bfd1b5535d4a460a88a9152a5319ed00f6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add a benchmark test for QCryptographicHashThiago Macieira2014-04-043-0/+192
| | | | | | | | | | | | | | | | | | | | | Some quick benchmarks against GNU coreutils 8.21 and OpenSSL 1.0.1e (time in µs; time for coreutils and OpenSSL include the loading of the executable): Qt Coreutils OpenSSL n SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512 SHA-1 SHA-224 SHA-512 0 0 0 0 717 716 700 2532 2553 2522 64k 120 484 381 927 1074 966 2618 2782 2694 Diff 120 484 381 210 358 266 86 229 172 The numbers for Qt are pretty stable and vary very little; the numbers for the other two vary quite a bit, since they involve launching and executing separate processes. We can take the lesson that we're in the same ballpark for SHA-1 and we should investigate whether our SHA2 implementation is sufficiently optimized. Change-Id: Ib081d002ed57c4f43741eca45ff5cd13b97b6276 Reviewed-by: Richard J. Moore <rich@kde.org>
* network: add support for the SPDY protocolPeter Hartmann2014-02-191-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the only supported SPDY version is 3.0. The feature needs to be enabled explicitly via QNetworkRequest::SpdyAllowedAttribute. Whether SPDY actually was used can be determined via QNetworkRequest::SpdyWasUsedAttribute from a QNetworkReply once it has been started (i.e. after the encrypted() signal has been received). Whether SPDY can be used will be determined during the SSL handshake through the TLS NPN extension (see separate commit). The following things from SPDY have not been enabled currently: * server push is not implemented, it has never been seen in the wild; in that case we just reject a stream pushed by the server, which is legit. * settings are not persisted across SPDY sessions. In practice this means that the server sends a small message upon session start telling us e.g. the number of concurrent connections. * SSL client certificates are not supported. Task-number: QTBUG-18714 [ChangeLog][QtNetwork] Added support for the SPDY protocol (version 3.0). Change-Id: I81bbe0495c24ed84e9cf8af3a9dbd63ca1e93d0d Reviewed-by: Richard J. Moore <rich@kde.org>
* Optimize drawing to and from generic formatsAllan Sandfeld Jensen2014-01-311-6/+134
| | | | | | | | | | | | | | | | | When drawing to and from the less common formats most of the cpu time is spend in conversion. The conversion method is rather slow due to using variable shifts and masks that the compiler does not have a chance to optimize. This patch changes the conversion methods to being templates fed by constexpr methods. This allows the compiler to fully optimize the methods yielding 2x->5x speedups. The reliance on constexpr however means the optimized methods are only used under C++11. Change-Id: I2ec77c4c1c03f12ee463a694a2b59db0f0b52db1 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Update the qHash function for strings to use the CRC32 instructionThiago Macieira2014-01-233-14/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to my profiling of Qt Creator, qHash and the SHA-1 calculation are the hottest spots remaining in QtCore. The current qHash function is not really vectorizable. We could come up with a different algorithm that is more SIMD-friendly, but since we have the CRC32 instruction that can read 32- and 64-bit entities, we're set. This commit also updates the benchmark for QHash and benchmarks both the hashing function itself and the QHash class. The updated benchmarks for the CRC32 on my machine shows that the hashing function is *always* improved, but the hashing isn't always. In particular, the current algorithm is better for the "numbers" case, for which the data sample differs in very few bits. The new code is 33% slower for that particular case. On average, the improvement (including the "numbers" case) is: compared to qHash only QHash Qt 5.0 function 2.54x 1.06x Qt 4.x function 4.34x 1.34x Java function 2.71x 1.11x Test machine: Sandybridge Core i7-2620M @ 2.66 GHz with turbo disabled for the benchmarks Change-Id: Ia80b98c0e20d785816f7a7f6ddf40b4b302c7297 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-132-13/+13
| | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* WinRT: Fixed compilation of network autotests and benchmarksOliver Wolff2013-12-061-0/+8
| | | | | Change-Id: Id689f199cfb22dce231cec36faba57ab958b1bac Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-262-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Fix test compilation on WinRTAndrew Knight2013-11-262-1/+4
| | | | | | | | | | | | | | | | Tweak a handful of tests which didn't compile on this platform. Change-Id: I208d9eb289dfb226746c6d0163c3ea752485033b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Benchmark for QWaitConditionOlivier Goffart2013-11-152-121/+54
| | | | | | | | | | Change-Id: I89fc0819324c12030bc23ba080b21f3d8d5c9852 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-241-10/+8
|\| | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Allow non-character codes in utf8 stringsKurt Pattyn2013-10-171-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the processing of non-character code handling in the UTF8 codec. Non-character codes are now accepted in QStrings, QUrls and QJson strings. Unit tests were adapted accordingly. For more info about non-character codes, see: http://www.unicode.org/versions/corrigendum9.html [ChangeLog][QtCore][QUtf8] UTF-8 now accepts non-character unicode points; these are not replaced by the replacement character anymore [ChangeLog][QtCore][QUrl] QUrl now fully accepts non-character unicode points; they are encoded as percent characters; they can also be pretty decoded [ChangeLog][QtCore][QJson] The Writer and the Parser now fully accept non-character unicode points. Change-Id: I77cf4f0e6210741eac8082912a0b6118eced4f77 Task-number: QTBUG-33229 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | WinRT: Fix various test compilationsAndrew Knight2013-10-026-2/+47
|/ | | | | | | | | | | | | - Remove irrelevant test subdirs via .pro files - Follow WinCE codepaths where applicable - Replace unsupported Win32 APIs with WinRT equivalents This does not aim to fix any failures in the tests themselves; it only makes them compile. Change-Id: Ia82bc0cc402891f8f6238d4c261ee9152b51be80 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QDateTime - Remove some benchmark testsJohn Layt2013-09-231-83/+0
| | | | | | | | Remove benchmark tests that are no longer required as they are simple overloads of other methods. Change-Id: I610211543d17c077f482fa2145ac3da7d0767282 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime - Add QTimeZone supportJohn Layt2013-09-231-1/+90
| | | | | | | | | | | Add support to QDateTime for time zones using the new QTimeZone class. [ChangeLog][QtCore][QDateTime] Add support for a new Qt::TimeZone spec to be used with QTimeZone to define times in a specific time zone. Change-Id: I21bfa52a8ba8989b55bb74e025d1f2b2b623b2a7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDateTime - Add Benchmark TestsJohn Layt2013-09-203-0/+612
| | | | | | | Add benchmark tests for QDateTime. Change-Id: I839f8bc81e6cae56d93539c7c3f999d9eec10ad7 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Add a static QFileInfo::exists(fileName) functionhjk2013-09-131-0/+14
| | | | | | | | | This avoids dynamic construction of the private class. According to the benchmark we go from 4,550 to 3,900 instruction reads per iteration. (without change 32629676 the baseline is 5,600) Change-Id: I5df925e30dbd49bdde87173e481820574ce5abe1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add benchmark for QThreadPool.David Faure2013-08-213-1/+99
| | | | | | | | | The current question is whether activeThreadCount() should be lock-free (using atomic ints) or mutex-protected, so this tests start() and activeThreadCount() directly. Change-Id: Ica4a2ad023c2002e3c7d81558e6b9ee64af7f690 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix compilation of the tst_qnetworkreply benchmark test with QT_NO_SSL.Friedemann Kleint2013-07-191-10/+10
| | | | | | | | | preConnectEncrypted_data() is called by preConnect_data(). Change-Id: I9a3fad294d88e4cb4d2f6132cf7a87945373bb7d Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-151-2/+0
|\ | | | | | | Change-Id: I0218a1f08b89f2d56757ab35eec06799d2a1492f
| * Remove Nokia-domains in commented-out test code.Friedemann Kleint2013-07-121-2/+0
| | | | | | | | | | | | | | Task-number: QTBUG-32390 Change-Id: Ida7d54aba9cde5c472ff6bb2696d1201ba4f2199 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-112-15/+2
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * benchmarks: Re-enable QFileInfo build by removing canonicalFileNamePerformance.Robin Burchell2013-07-042-15/+2
| | | | | | | | | | | | | | | | | | | | QFSFileEnginePrivate::canonicalized has been gone for a very, very long time now (since d3b152ba1e3cd38dd675c801474105d518bacb44 in Qt 4). This also fixes a build failure in the code on Windows. Change-Id: I81f5e0c1d644b1b4d75644626eb394a663535387 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | HTTP internals: do not open too many sockets when preconnectingPeter Hartmann2013-06-241-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Each pair of (normal request, preconnect request) requires only one socket. E.g. if there is 1 preconnect request in-flight and 2 normal requests, we need only 2 sockets in total, and not 3. Therefore, we need to keep track of whether a request is preconnecting or a normal one. Task-number: QTBUG-31594 Change-Id: If92ccc35abadfa6090d64ee92bd466615909c94c Reviewed-by: Richard J. Moore <rich@kde.org>
* | QNX: fixed compilation of auto testBernd Weimer2013-06-061-0/+4
| | | | | | | | | | | | | | | | | | Compilation failed because "open" is defined as "open64" in fcntl.h. This definition is reverted now. Change-Id: I9badcf11131320c53e442cd5b8b21bb5aa4efee5 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* | Iterate over the smaller set in QSet::intersect().Mitch Curtis2013-06-052-0/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling intersect() on a large (1000000 items) QSet, with a small (1000 items) QSet as the argument, the function takes signifcantly longer than when the operand and the argument are reversed. This is because the operand set is always iterated over in its entirety. This patch changes intersect() to iterate over the smaller set. This reduces the large operand scenario's benchmark to ~0.000063 milliseconds, compared to the current ~134 milliseconds: 1000000.intersect(1000) = empty: 0.000063 (was 134) 1000.intersect(1000000) = empty: 0.000039 (was 0.000036) 1000000.intersect(1000) = 500: 0.10 vs (was 130) 1000.intersect(1000000) = 500: 0.023 vs (was 0.093) 1000000.intersect(1000) = 1000: 0.20 vs (was 139) 1000.intersect(1000000) = 1000: 0.017 vs (was 0.016) Task-number: QTBUG-22026 Change-Id: I54b25c49c78c458fef355e9c6222da8a64c7681f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QNetworkAccessManager: add public methods to pre-TCP/pre-SSL-connectPeter Hartmann2013-06-032-1/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an app knows it needs to connect to a host beforehand, it can "warm up" the connection cache by making DNS lookup, TCP (and if needed SSL) handshake before the actual HTTP request is sent. When the HTTP request is made, it will be considerably faster when there is already a working connection. Here are some typical results from the benchmark: * Linux desktop with Ethernet: "http://www.google.com" full request: 279 ms, pre-connect request: 61 ms, difference: 218 ms "https://www.google.com" full request: 344 ms, pre-connect request: 60 ms, difference: 284 ms * mobile device (BlackBerry 10) with Wifi: "https://www.google.com" full request: 898 ms, pre-connect request: 159 ms, difference: 739 ms "http://www.google.com" full request: 707 ms, pre-connect request: 200 ms, difference: 507 ms Task-number: QTBUG-30771 Change-Id: I3566b7f08216ab93a39e2024ae7d1ceb7ae21891 Reviewed-by: Jonas Gastal <gastal@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-231-1/+2
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Fix QMetaType benchmark.Jędrzej Nowacki2013-05-131-1/+2
| | | | | | | | | | | | | | | | Void is not constructible, so there is no point in checking how fast it can be constructed. Change-Id: Icb4b607bebce30fff5fc57b105101f019e0e0db5 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | resizeToContents - QTableView - faster hint when view is hiddenThorbjørn Martsum2013-05-091-0/+21
|/ | | | | | | | | | | | | In some situations we can get into resizeSections in a hidden QHeaderView. If the headerView is hidden then we look at all the rows, and that can be extemely expensive for a large model. This patch limits the sizeHint with only looking at a maximum 1000 rows. Though this is more inaccurate it is also faster - and it is not much different from what QTreeView does. Change-Id: Ief4b54c5a3c5a0db02e8b595c9b9b3162633ee67 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Cleanup the SQL testsAndy Shaw2013-04-251-15/+17
| | | | | | | | | | This removes some XFAILS that were no longer correct and fixes some existing problems in the tests where ODBC is concerned. Change-Id: I91de526bb50ad4046ba07ddb5336aa3714966687 Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Remove QLocalePrivate::m_localeIDhjk2013-04-233-0/+89
| | | | | | | | | | | | | | It was only used for toUpper/toLower but always computed in the constructor, including QString::toLatin1 conversion and allocations. This needlessly slows down all other uses, including supposedly "cheap" operations QString::toDouble, or accesses inside QResourceFileEngine. The benchmarks indicates that doing it always when needed is bearable. There's still a lot of improvement potential on these code paths. Change-Id: I88b637ee11f9f7ea614f8da4ec5df0bf40664fce Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix qsqlquery benchmark test build for WEC7.Janne Anttila2013-04-171-1/+1
| | | | | | | | | | | WEC7 does not have ws2_32 lib. The lib is needed for gethostname symbol, instead of using hard coded platform specific libs, rely on QMAKE_NETWORK_LIBS variable containing network libs. Change-Id: Ice39ca3f2d176cc5df88beded4b64d2b92f4f3ba Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Fix qprocess benchmark test build for WEC7.Janne Anttila2013-04-171-5/+3
| | | | | | | | | | Use Q_OS_WINCE ifdef in both method declaration and definition, in addition combine QT_NO_PROCESS and Q_OS_WINCE ifdefs to one line. Change-Id: I0787e4341c41b46a5fc089f24a538c0ad40a0875 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* Fix sql tests in respect to Oracle databasesAndy Shaw2013-04-051-40/+40
| | | | | | | | | | Oracle has a limitation of 30 characters for a tablename so the main change is to account for this, which meant changing all the usages of qTableName(). Some other fixes are included that ensure the tests are working correctly as far as Oracle is concerned. Change-Id: I8ad8a5a33e6a70fcad235f6a7e82e91687b74fee Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Move the dbmstype to QSqlDriverPrivate so it can be used for all driversAndy Shaw2013-04-021-1/+1
| | | | | | | | | By moving it to QSqlDriverPrivate we make it easier to check what database is actually connected which is particularly useful for the autotests. Change-Id: I54d1c2c998919c1d54efb1b6ac9303070ece54aa Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-1661-424/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QVector - removeLast optimizeThorbjørn Martsum2013-03-071-0/+37
| | | | | | | | | | | | In case somebody uses QVector as a stack, it is not fair to have takeLast, removeLast and pop_back to do way too much work. This is still very slow compared to std::vector::pop_back (mostly due implicit sharing), however it is more than a factor faster than before. Change-Id: I636872675e80c8ca0c8ebc94b04f587a2dcd6d8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMap - add insert overload that provide a hintThorbjørn Lund Martsum2013-03-061-0/+78
| | | | | | | | This adds a fast insert on QMap when providing a correct hint. Change-Id: I256bba342932c1d4f24c6e65074e1bf47b519537 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Check for network module when building according benchmarksOliver Wolff2013-02-192-2/+2
| | | | | Change-Id: I5e4cb3ef6fdb5de772d13029c11170d0f0eb3ee5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>