summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/tools/tools.pro
Commit message (Collapse)AuthorAgeFilesLines
* Separate out the time, zone, date code from corelib/tools/Edward Welbourne2019-06-061-2/+0
| | | | | | | | | | We'll be adding calendar code here as well, and tools/ was getting rather crowded, so it looks like time to move out a reasonably coherent sub-bundle of it all. Change-Id: I7e8030f38c31aa307f519dd918a43fc44baa6aa1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Speed up QTimeZone::isTimeZoneIdAvailable by a factor 43David Faure2018-04-231-0/+1
| | | | | | | | | | | | | | | | | Creating and sorting a list of bytearrays just to check if one entry is present, is really overkill. By adding a new virtual method isTimeZoneIdAvailable() in the backend classes, we can do this much more efficiently. Implemented for Utc and Tz backends, the others fall back to the slow way. The new benchmark shows, in release mode: Before: 43 msecs per iteration (total: 86, iterations: 2) After: 1.1 msecs per iteration (total: 73, iterations: 64) Change-Id: Ic0d79a41d74e2ce6aa088fa7986c41d33902c36b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Skip old benchmark that doesn't build automaticallyAllan Sandfeld Jensen2016-04-131-1/+0
| | | | | | | This benchmark requires QtScript1 headers, and can not build as is. Change-Id: I98e57ca2db82270a0887462d7959ff00e352166b Reviewed-by: hjk <hjk@theqtcompany.com>
* QStack: Add a simple benchmark.Robin Burchell2014-12-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This covers the only real additions over QVector: push and pop. Really, there isn't too much specific to benchmark here, but we're interested in one specific case: that of pushing and popping a single item repeatedly. With the current QVector behavior, this causes constant deallocation, which makes it morbidly slow. This behavior will be reviewed in a subsequent commit. Results (not that anyone really cares) for me: PASS : tst_QStack::qstack_push() RESULT : tst_QStack::qstack_push(): 1.9 msecs per iteration (total: 61, iterations: 32) PASS : tst_QStack::qstack_pop() RESULT : tst_QStack::qstack_pop(): 8.2 msecs per iteration (total: 66, iterations: 8) PASS : tst_QStack::qstack_pushpopone() RESULT : tst_QStack::qstack_pushpopone(): 80 msecs per iteration (total: 80, iterations: 1) Change-Id: I3530888abbfcfcef39318d6be6d5b07306a4704e 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>
* Add a benchmark test for QCryptographicHashThiago Macieira2014-04-041-0/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* QDateTime - Add Benchmark TestsJohn Layt2013-09-201-0/+1
| | | | | | | Add benchmark tests for QDateTime. Change-Id: I839f8bc81e6cae56d93539c7c3f999d9eec10ad7 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Remove QLocalePrivate::m_localeIDhjk2013-04-231-0/+1
| | | | | | | | | | | | | | 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>
* Rewrite QMap to use a RB treeLars Knoll2012-03-231-0/+1
| | | | | | | | | | | | | | | | | | | | QMap used to use a skiplist in Qt 4.x, which has variable sized nodes and we can thus not optimise using custom allocators. The rewrite now uses a red-black tree, and all allocations and tree operations happen in the cpp file. This will allow us to introduce custom allocation schemes in later versions of Qt. Added some more tests and a benchmark. Memory consumption of the new QMap implementation is pretty much the same as before. Performance of insertion and lookup has increased by 10-30%. iteration is slower, but still extremely fast and should not matter compared to the work usually done when iterating. Change-Id: I8796c0e4b207d01111e2ead7ae55afb464dd88f5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Introduce a qalgorithms benchmark.Robin Burchell2012-01-211-1/+2
| | | | | | | | 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>
* 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>
* test: Split `qcontiguouscache' unit and benchmark testsSergio Ahumada2011-10-241-0/+1
| | | | | | | | | | | | | | | 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>
* optimize QList::removeAll()Ritt Konstantin2011-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+11
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