summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/tools
Commit message (Collapse)AuthorAgeFilesLines
...
| * Introduce a qalgorithms benchmark.Robin Burchell2012-01-214-1/+147
| | | | | | | | | | | | | | | | Based on the unit test for data production. Change-Id: I88a411c0079b251d3682c3fbf9fe7ed1b5457a7e Reviewed-by: Anselmo L. S. Melo <anselmo.melo@openbossa.org> Reviewed-by: Richard J. Moore <rich@kde.org>
| * Add a string hash implementation similar to the one in Java.Robin Burchell2012-01-203-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses a similar runtime to the approach of sampling part of the string, with the benefit that it doesn't reduce the sampling to subsections of the string. Ironically, Java used to only sample parts of the string as well, but found that it produced too many collisions with certain string types, so they moved to use this method. RESULT : tst_QHash::qhash_qt4(): 0.0537 msecs per iteration (total: 110, iterations: 2048) PASS : tst_QHash::qhash_qt4() RESULT : tst_QHash::qhash_faster(): 0.015 msecs per iteration (total: 62, iterations: 4096) PASS : tst_QHash::qhash_faster() RESULT : tst_QHash::javaString(): 0.016 msecs per iteration (total: 66, iterations: 4096) Change-Id: Icb5da341ab6445163f4217650a0bdb3903e50210 Reviewed-by: hjk <qthjk@ovi.com>
* | Merge remote-tracking branch 'gerrit/master' into containersJoão Abecasis2012-01-1621-23/+113
|\| | | | | | | Change-Id: I2d358b912f1055ee6021d13de2f66fd459aaa355
| * Remove execute permission from files that don't need it.Jason McDonald2012-01-101-0/+0
| | | | | | | | | | Change-Id: Ib92875289cdd9831f35301c566fb567acc725bb6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
| * Remove the Q_TYPENAME define.Stephen Kelly2012-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | It is mostly not used (most places in Qt use typename directly), so is already not very useful. For example typename is used in: QDataStream& operator<<(QDataStream& s, const QVector<T>& v) Change-Id: I85337ad7d8d4ebbb424bfa2ab9a356456ff3e90f Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
| * Update copyright year in license headers.Jason McDonald2012-01-0520-20/+20
| | | | | | | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
| * add tests and benchmarks for QString::toLower()/toUpper()/toCaseFolded()Konstantin Ritt2011-12-251-1/+91
| | | | | | | | | | | | | | | | | | Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Change-Id: I3929d4d8963c3cef6d2c6420d8ad1f7a45f7e042 Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Use RefCount::setSharable feature in QVectorJoão Abecasis2012-01-101-1/+0
| | | | | | | | | | | | | | Note: This constitutes a break in Binary Compatibility. Change-Id: I050587901725b701f20dd46475ae48aec28aa54d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* | Get rid of assignment operators in RefCountJoão Abecasis2012-01-041-1/+1
|/ | | | | | | | | | | | , and make it strictly a POD struct. Since this operator was only being used to set the initial (owned) value of the reference count, the name of the function introduced here to replace it makes that use case explicit. Change-Id: I2feadd2ac35dcb75ca211471baf5044a5f57cd62 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation of Benchmark tests on Windows.Friedemann Kleint2011-12-011-0/+2
| | | | | | Change-Id: I92186f916792d110f22b23525b673ef006e19046 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Compile with non-C++11 compilersBradley T. Hughes2011-11-141-14/+20
| | | | | | | | | | | Function pointers used as template parameters must have external linkage according to the C++ standard. The _mm_lddqu_si128() and _mm_load_si128() intrinsic functions are declared static in most implementations, which means we need to wrap them in a non-static function call to be used. Change-Id: I4e316851df890d77999649d47654f7f9a35d4080 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* benchmarks: eliminated usage of qttest_p4.prfRohan McGovern2011-10-2512-72/+12
| | | | | | | | | qttest_p4.prf was added as a convenience for Qt's own autotests in Qt4. It enables various crufty undocumented magic, of dubious value. Stop using it, and explicitly enable the things from it which we want. Change-Id: I48ab0ee64d8348cada2e6c7b27c67b6bbc36280d Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* test: Split `qcontiguouscache' unit and benchmark testsSergio Ahumada2011-10-243-0/+200
| | | | | | | | | | | | | | | Moving three benchmark tests from 'tests/auto' to 'tests/benchmarks'. Also removing 'qttest_p4' usage while we are at it. - void asScrollingList(); - void cacheBenchmark(); - void contiguousCacheBenchmark(); were moved to 'tests/benchmarks/corelib/tools/qcontiguouscache' Task-number: QTQAINFRA-353 Change-Id: Icbdd852f9c14c3df042d2e19abd42af6c645a3cb Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* tests: do not run benchmarks by default in 'make check'Sergio Ahumada2011-10-241-0/+4
| | | | | | | | | `make check' is intended primarily for running functional tests. For the most part, it does not make sense to run benchmarks in the same test environment as the functional tests. Change-Id: I33b2cf1e833fc6b1d0b3525018945148ba2d3492 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove Symbian-specific code from tests.Jason McDonald2011-09-295-20/+2
| | | | | | | | | Symbian is not a supported platform for Qt5, so this code is no longer required. Change-Id: I1172e6a42d518490e63e9599bf10579df08259aa Reviewed-on: http://codereview.qt-project.org/5657 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add benchmark for QCharKent Hansen2011-09-152-0/+157
| | | | | | | | | | | | | | | | The benchmark isn't exhaustive, but tests the functions that are heavily used by QtDeclarative. For performance reasons, QtDeclarative has its own implementation of various QChar functions (in qdeclarativeutils_p.h). But we want to make the actual QChar functions as fast, so that QtDeclarative can also use them. Change-Id: Ic25f30651224c39f2824380d679b8500739f38c3 Reviewed-on: http://codereview.qt-project.org/4900 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* optimize QList::removeAll()Ritt Konstantin2011-09-123-0/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a) don't detach until an occurrence found b) don't memmove every time an occurrence found c) truncate quickly ) well, numbers are better than words: before: RESULT : tst_QList::removeAll_primitive(): 2,617,902 CPU ticks per iteration (total: 261,790,171, iterations: 100) RESULT : tst_QList::removeAll_movable(): 2,547,540 CPU ticks per iteration (total: 254,753,960, iterations: 100) RESULT : tst_QList::removeAll_complex(): 16,852,099 CPU ticks per iteration (total: 1,685,209,906, iterations: 100) after: RESULT : tst_QList::removeAll_primitive(): 73,520 CPU ticks per iteration (total: 73,520,442, iterations: 1000) RESULT : tst_QList::removeAll_movable(): 90,422 CPU ticks per iteration (total: 90,422,464, iterations: 1000) RESULT : tst_QList::removeAll_complex(): 9,667,073 CPU ticks per iteration (total: 9,667,072,670, iterations: 1000) Merge-request: 1285 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> (cherry picked from commit b209fe3b1a51f64541067917e96de99f14ad65f3) Change-Id: Ia26036ed741cefcf4b5868b7b2fc5eae8130d3dc Reviewed-on: http://codereview.qt-project.org/4577 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* tests: do not run benchmarks by default in 'make check'Rohan McGovern2011-07-1910-0/+40
| | | | | | | | | | | | | | | | `make check' is intended primarily for running functional tests. For the most part, it does not make sense to run benchmarks in the same test environment as the functional tests. Also, the runtime for some of these benchmarks is quite long, and some of them share the same name as existing functional tests. These are problematic. Change-Id: I2ca4cfa24c73280a0b73e51423007eaff92085b8 Reviewed-on: http://codereview.qt.nokia.com/1794 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* tests: fixed compilation of qstring benchmark on macRohan McGovern2011-05-271-2/+7
| | | | | | | | | | | | | On Mac, MAP_ANONYMOUS and MAP_POPULATE are not defined. Fix MAP_ANONYMOUS by defining it to MAP_ANON. Fix MAP_POPULATE by removing it, because its usage was unnecessary in this code (the page was explicitly faulted in a few lines later anyway). Change-Id: Iead82e1a949b35fe3c304d38babac8d4dc6f0769 Reviewed-on: http://codereview.qt.nokia.com/162 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-2417-290/+290
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Compile fix for 64bit Linux.Friedemann Kleint2011-05-191-1/+1
| | | | Reviewed-by: Thiago <thiago.macieira@nokia.com>
* Updated version references in autotestsEckhart Koppen2011-05-131-1/+1
| | | | Tests now refer to version 5.0.0
* tests: make benchmarks compile or disable those which don't compileRohan McGovern2011-05-111-0/+1
| | | | | Reviewed-by: Jason McDonald Change-Id: Idc9fa4722b59f9b75d5e4a91bbfd0ae068d29b3d
* Only run JSC benchmarks if access to the source codeMarius Storm-Olsen2011-04-272-6/+13
| | | | | | When modularized, the benchmark test case might not have access to the JavaScriptCore source code. So, make sure the test case still compiles in this case.
* Initial import from the monolithic Qt.Qt by Nokia2011-04-2735-0/+79949
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12