aboutsummaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Add fine-grained QML / QtQuick performance benchmarksChris Adams2013-10-0174-0/+2132
| | | | | | | | | | This commit adds a series of benchmarks to test the performance of fundamental areas of the QML engine (compilation, instantiation, binding evaluation, positioning) using types provided by the QtQuick QML module. Change-Id: Iecec058c45aea0bd728f03123fa2aa79d6af8efa Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* test: Remove v8-private for tst_pointersSergio Ahumada2013-08-151-1/+1
| | | | | Change-Id: I60f98d1f3563d19e141439385e9d862590d8f63f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-06-2410-27/+24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/imports/qtquick2/plugins.qmltypes src/qml/debugger/qv8debugservice.cpp src/qml/qml/qml.pri src/qml/qml/qqmlcompiler.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlcontext.cpp src/qml/qml/qqmldata_p.h src/qml/qml/qqmlengine_p.h src/qml/qml/qqmljavascriptexpression.cpp src/qml/qml/qqmlxmlhttprequest.cpp src/qml/qml/v4/qv4bindings.cpp src/qml/qml/v4/qv4irbuilder.cpp src/qml/qml/v4/qv4jsonobject_p.h src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/qml/qml/v8/qv8bindings.cpp src/qml/qml/v8/qv8contextwrapper.cpp src/qml/qml/v8/qv8listwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper_p.h src/qml/qml/v8/qv8sequencewrapper_p_p.h src/qml/qml/v8/qv8typewrapper.cpp src/qml/qml/v8/qv8valuetypewrapper.cpp src/qml/types/qqmldelegatemodel.cpp src/quick/items/context2d/qquickcanvasitem.cpp src/quick/items/context2d/qquickcontext2d.cpp sync.profile tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/benchmarks/qml/animation/animation.pro tools/qmlprofiler/qmlprofiler.pro Change-Id: I18a76b8a81d87523247fa03a44ca334b1a2360c9
| * Fix compilation of QML benchmarksPeter Varga2013-06-0610-27/+24
| | | | | | | | | | Change-Id: I2d612108ec8d69a0a9318cd26f6adcbb74f34138 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix compilation with built-in v4vm JS engineSimon Hausmann2013-04-157-7/+7
|/ | | | | Change-Id: Ieda9267e296acf6392a5461f4cfb9233a7a409a0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-10216-216/+216
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* make use of qtHaveModule()Oswald Buddenhagen2013-01-102-2/+2
| | | | | | | Change-Id: I23f11c944fafb5863a960dcc83bc1e57e189f662 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove obsolete DEPENDPATH assignmentsOswald Buddenhagen2012-12-161-1/+0
| | | | | | | | qmake now add CONFIG+=depend_includepath by default, making manual DEPENDPATH setup unnecessary. Change-Id: I6cefdd70ffd3a0ef889752eafec8b999822588cf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add a hidden XandYAxis enum valueAlan Alpert2012-12-151-1/+1
| | | | | | | | | For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently follow capitalization rules. Add an undocumented XandYAxis variable to ease porting. Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53 Reviewed-by: Martin Jones <martin.jones@jollamobile.com>
* Declare QJSValue as a metatype where it is defined.Stephen Kelly2012-12-042-5/+0
| | | | | | | Instead of in multiple different TUs, therefore causing ODR violations. Change-Id: I08d3624d3ed5a995e96488361665afa197fb9fc9 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix performance bottleneck in QQuickWindow::mouseMoveEvent().Sérgio Martins2012-10-113-1/+104
| | | | | | | | | | | | | | | | | | When a mouse move event is received, a lot of time is spent looking for items with cursors, recursively. With this patch, it will only recur into item hierarchies that contain cursors. Not having cursors is much more common than having them. Benchmark included: Before: 15 msecs per iteration (total: 62, iterations: 4) After: 0.000064 msecs per iteration (total: 68, iterations: 1048576) Task-number: QTBUG-27054 Change-Id: I3a5441652ca1c0b8d2cbc5683013562174f5af4a Reviewed-by: Alan Alpert <416365416c@gmail.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-23216-5255/+5255
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* doc: fix some more typosSergio Ahumada2012-09-101-1/+1
| | | | | Change-Id: I7fa055049b9e5900d597754c6004febb153de12b Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Add type name to singleton (module api) implementations.Glenn Watson2012-08-081-7/+7
| | | | | | | | | | | | | This change renames the previous module api implementation to singleton types. When a singleton type is registered, a type name must be provided that is used when accessing the API from QML. This makes the implementation more consistent with the rest of QML. Task-number: QTBUG-26549 Change-Id: Iab0bb1ccf516bd3ae20aee562a64d22976e0aecd Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-0121-0/+21
| | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I6988c2360e9d88916311374a0c910bfc5b607439 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Rename speed -> velocity in the particle systemAlan Alpert2012-06-291-1/+1
| | | | | | | | Matches the convention set in the QtQuick module, for example by ListView and Flickable. Change-Id: I8df57ed1ced8128723d790c30c00cc1b2062787d Reviewed-by: Bea Lam <bea.lam@nokia.com>
* Remove non-templated qobject module api registration functionChris Adams2012-06-122-15/+11
| | | | | | | | | | | | | Previously, both templated and non-templated qobject module api registration functions were provided as public API. The non-templated version is identical to the templated version, except that bindings which access properties of module apis registered with that function cannot be optimized with v4. This commit removes the non-templated version of the function. Change-Id: Ic417aa241f1172bf6d055bdc7f528d7e9304097b Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Add internal API for accessing V8 handles of QJS typesKent Hansen2012-05-293-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to use the V8 API directly. This might be necessary in cases where the QJS API is missing some functionality (e.g., controlling the V8 profiler), or for performance reasons (e.g., avoiding overhead of QJSValue indirection). The V8 API is clearly more extensive than the QJS API, and QJS will likely never reach feature parity with it (since that's outside the scope of QJS). By providing access to the underlying V8 types, users can still choose to use V8 directly in the (hopefully rare) cases where the public QJS API isn't sufficient. Two new functions are introduced: - qt_QJSEngineV8Context(QJSEngine *) returns a local handle to the engine's internal V8 context. - qt_QJSValueV8Value(const QJSValue &) returns a local handle to the QJSValue's internal V8 value. The caller is responsible for - ensuring that a V8 handle scope is in place; - entering/exiting the QJSEngine's V8 context. The documentation and tests show how that can be done. Also added a benchmark for QJSValue that can be used to measure the effect of using raw V8 API for some common operations. Change-Id: I680aeb2f67ffe5eeadd432a05c8084e43921a118 Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Text benchmarksYann Bodson2012-05-142-0/+135
| | | | | | | | | Benchmarks to compare the cost of creating 42 text items in a grid vs. using a single text item with 42 lines and laying them out using onLineLaidOut. Change-Id: I4c11e23a3fd04bb8b52b5566fb120d336614c98b Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Add more benchmark tests for ItemAdriano Rezende2012-05-1413-0/+657
| | | | | Change-Id: I603df39d75a5eddb02a39ab08755991a0655ff19 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Change uses of {to,from}Ascii to {to,from}Latin1Thiago Macieira2012-05-041-3/+3
| | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I03084595ddc425a988374b8352fd23e9504ffba6 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Remove QJS exception APIKent Hansen2012-05-031-9/+0
| | | | | | | | | | | | | | | | | This API has been deprecated for a while. It's legacy stuff from QtScript. Until someone proves that QJSValue::isError() isn't sufficient to handle JavaScript exceptions, we won't provide any additional API for that. Also removed QJSValuePrivate::lessThan(), which was using the exception mechanism, but the function itself wasn't used anymore (another remnant from the QtScript days). Change-Id: I3dffc6a7835874153f90d25ae2a72c93ea6db39a Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-057-106/+261
|\ | | | | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
| * Get script benchmark compiling and running.Michael Brasser2012-02-274-107/+262
| | | | | | | | | | Change-Id: Ifc433f6c430d430bfb8b2d8b47a84ad2688e4cb2 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* | Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-24239-306/+306
|/ | | | | | | | | | | | | Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* clean up qmake-generated projectOswald Buddenhagen2012-02-221-11/+2
| | | | | | | | remove "header" and assignmets which are defaults or bogus Change-Id: I1d777f5418b0f353bf276a979c6300a941927e7e Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Add and use new animation backend.Michael Brasser2012-02-073-0/+289
| | | | | | | | | The new backend improves performance, and allows us to create multiple running animation jobs from a single Transition. It is based off of the existing Qt animation framework. Change-Id: Id1d0162f6e5c65bf31267f3f9f2042c354375d57 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove QtQuick1 elements from qtdeclarativeMatthew Vogt2012-02-0380-80/+80
| | | | | | | | QtQuick1 is now contained in a separate repository. Task-number: QTBUG-23737 Change-Id: I09eae67af5693a22b896b916f816f73ccc3a89b1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-30197-197/+197
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: If39bd256b0fa85eba17ea30f8ab87ea27d758908 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-23197-197/+197
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Don't use deprecated functions in QJS benchmarksKent Hansen2012-01-202-184/+34
| | | | | | | | | Remove benchmarks for functions that are going away. Task-number: QTBUG-23604 Change-Id: Ia65c7981652011f89f2131ff14f63aae410013cf Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Update copyright year in Nokia copyright headers.Jason McDonald2012-01-171-1/+1
| | | | | | | | Update copyright headers from before 2011, and a couple of new ones that were merged after the previous change to copyright headers. Change-Id: Ia76e08e2734afa4ef3f1207dbcda5ff3bc81b366 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-05196-196/+196
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove TESTED_CLASS/TESTED_FILES comments from tests.Jason McDonald2011-12-066-12/+0
| | | | | | | | | These comments were mostly empty or inaccurate. Appropriate naming of tests and appropriate placement of tests within the directory tree provide more reliable indicators of what is being tested. Change-Id: If69bdb39fd162d167cb948ddcbb73503b414e791 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Say hello to QtQuick moduleKent Hansen2011-12-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves the QtQuick 2 types and C++ API (including SceneGraph) to a new module (AKA library), QtQuick. 99% of this change is moving files from src/declarative to src/quick, and from tests/auto/declarative to tests/auto/qtquick2. The loading of QtQuick 2 ("import QtQuick 2.0") is now delegated to a plugin, src/imports/qtquick2, just like it's done for QtQuick 1. All tools, examples, and tests that use QtQuick C++ API have gotten "QT += quick" or "QT += quick-private" added to their .pro file. A few additional internal QtDeclarative classes had to be exported (via Q_DECLARATIVE_PRIVATE_EXPORT) since they're needed by the QtQuick 2 implementation. The old header locations (e.g. QtDeclarative/qquickitem.h) will still be supported for some time, but will produce compile-time warnings. (To avoid the QtQuick implementation using the compatibility headers (since QtDeclarative's includepath comes first), a few include statements were modified, e.g. from "#include <qsgnode.h>" to "#include <QtQuick/qsgnode.h>".) There's a change in qtbase that automatically adds QtQuick to the module list if QtDeclarative is used. Together with the compatibility headers, this should help reduce the migration pain for existing projects. In theory, simply getting an existing QtDeclarative-based project to compile and link shouldn't require any changes for now -- but porting to the new scheme is of course recommended, and will eventually become mandatory. Task-number: QTBUG-22889 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Change-Id: Ia52be9373172ba2f37e7623231ecb060316c96a7 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Make the particles benchmarks compile againKent Hansen2011-11-242-2/+2
| | | | | Change-Id: Ia56fcb06ee1ef73d81288358f584cb65e3242254 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Rename QSG* to QQuick* in particles folderAlan Alpert2011-10-252-6/+6
| | | | | Change-Id: I793eaf16f3810df0cb0f9f8482ac0b9d6137595d Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Rename Qt Quick-specific classes to QQuick*Kent Hansen2011-10-212-3/+3
| | | | | | | | | | | | | | | | | | | | | | The QSG (SceneGraph) prefix is too generic for Qt Quick(2)-specific classes. All the classes and files in the declarative/items directory have been renamed. In particular, for classes that are currently public, the renaming is as follows: QSGView --> QQuickView QSGCanvas --> QQuickCanvas QSGItem --> QQuickItem QSGPaintedItem --> QQuickPaintedItem The header files have been renamed accordingly (e.g. qsgview.h --> qquickview.h). Change-Id: Iac937fff81db20bb639486a793c3aeb5230b038c Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Remove SkipMode from qtestlib API.Jason McDonald2011-10-211-1/+1
| | | | | | | | | | The SkipMode parameter to QSKIP has been removed in qtbase, therefore it must also be removed here. Task-number: QTBUG-21851, QTBUG-21652 Change-Id: I8016f8c28338b1b532bdb593c796d699b99250dc Reviewed-by: Charles Yin <charles.yin@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add Affector BenchmarkAlan Alpert2011-10-175-1/+331
| | | | | | | Just for generic affector. Change-Id: I62acf524eb2c6491bc88fd687a0065866d7ceaaa Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Initial particle system benchmarkAlan Alpert2011-10-174-0/+199
| | | | | | | Exposed another function on ParticleSystem in order to work. Change-Id: I62acf524eb2c6491bc88fd687a0065866d7ce852 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* tests: eliminated usage of qttest_p4.prfRohan McGovern2011-10-1116-33/+32
| | | | | | | | | | | | | | 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. Since QT+= had to be touched already, this change also removes a lot of useless duplication on those lines. Change-Id: I9f2f20eaf4a0e676beddf474c7db8680e4712f78 Reviewed-on: http://codereview.qt-project.org/6302 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* CompileAaron Kennedy2011-10-101-1/+1
| | | | | | | | Change-Id: I80763db7108990b121de085b8c33cb90382b6cd1 Reviewed-on: http://codereview.qt-project.org/6292 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com> Sanity-Review: Aaron Kennedy <aaron.kennedy@nokia.com> Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Remove Symbian-specific code from tests.Jason McDonald2011-09-3022-143/+12
| | | | | | | | | | Symbian is not a supported platform for Qt5, so this code is no longer required. Change-Id: I5cb6d3b41fbb9fa5fea6176ad949e4e7be7c30b5 Reviewed-on: http://codereview.qt-project.org/5767 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Make qdeclarativecomponent::creation() benchmark work againKent Hansen2011-09-208-22/+37
| | | | | | | | | The samegame files were out of date. Change-Id: Idf25a3c1d327ae94a76717aa7dde9a9dd15af9bb Reviewed-on: http://codereview.qt-project.org/5193 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Make declarative/creation benchmark build againKent Hansen2011-09-192-6/+7
| | | | | | | Change-Id: I9ecbdcfc373e95de38e432aa627f6ab93d92afe6 Reviewed-on: http://codereview.qt-project.org/5138 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Fix missing and outdated license headers.Jason McDonald2011-09-093-51/+51
| | | | | | Change-Id: I940ced2e84a86daabc5158d348b05b7532cb1c22 Reviewed-on: http://codereview.qt-project.org/4314 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* Move all QML file parsing into the QDeclarativeScript namespaceAaron Kennedy2011-08-301-2/+2
| | | | | | Change-Id: I5969686a796cbfb2eeb3729014df7f01e51b0620 Reviewed-on: http://codereview.qt.nokia.com/3797 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Removed QDeclarativeJS::NodePoolRoberto Raggi2011-08-301-1/+1
| | | | | | | Change-Id: I69d39ef005900803f6c620ea8f1ca00d054dc8d2 Reviewed-on: http://codereview.qt.nokia.com/3757 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Compile fix for QML object creation benchmark.Michael Brasser2011-08-302-5/+7
| | | | | | Change-Id: I0a2948728796e72651c86f84f0a296b63e22044f Reviewed-on: http://codereview.qt.nokia.com/3825 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>