aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add *.pro.user to .gitignoreMitch Curtis2018-01-181-0/+1
| | | | | Change-Id: I5a4243b194611003e2b0a25a160d557c7f6d954f Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* resultrecorder: Remove stale textRobin Burchell2018-01-181-1/+0
| | | | | | | | | | When we were bucketing results to try get better stability, this used to give information about that. This was removed in f2ef76ce444db733fad3f6806f0019419d97b62c, but this text remained. Remove it to avoid confusion. Change-Id: I6a175807d920c3fe750b08b592bc412200c9a002 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* README.md: fix typo (contaner => container)Mitch Curtis2018-01-171-1/+1
| | | | | Change-Id: I1497464741bbeb4f8ca680f9aeac95166aa81eb4 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Add missing QmlBench importsKari Oikarinen2018-01-085-0/+5
| | | | | | | | Amends ab770345f2882782e412a0e8244b27887e1b4f22. Change-Id: I4975e74113a6b28d4f36fc5cb1545496dd225ac3 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Use math functions from std namespaceKari Oikarinen2018-01-083-3/+3
| | | | | | | | | <cmath> needs to declare the math functions in the std namespace. Optionally it can also put them in the global namespace, but for example the standard library for QNX 6.6 does not do so. Change-Id: Ie4d15d419d7a93c1c04d2b6982dba740d522740a Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Try to get a better random spread for tests with static count 20kEskil Abrahamsen Blomfeldt2017-11-151-1/+1
| | | | | | | | | | | | | | | | Some tests, where the static count was set to 20000 would collect all items along a diagonal line. It seems as if the reason for this was that QML would evaluate all Xs first and then all Ys, and since the static count was an exact multiple of the size of the pregenerated array, the multiplier for X and Y would be the same, so they would gather along the diagonal. By setting the size of the array we make this unlikely (tests with static count 20002 will still encounter the issue, but we have none of those.) Change-Id: I2d1df3c17f270a185e73e53d4ec9e2b56ddc799d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add internal random generatorEskil Abrahamsen Blomfeldt2017-10-31103-202/+309
| | | | | | | | | | | | | | | | | | | | | | | | In Qt 5.10 we introduce a new QRandomGenerator which is now used by Math.random(), and there are signs that this is significantly slower than qrand() which was used before. So much so, that it is visible in many of the qmlbench benchmarks. Note that this is a theory based on local runs and analysis of the graphs and still needs to be proven. Regardless, the qmlbench benchmarks are not intended to be benchmarking Math.random(), it is just used to ensure the positions tested are random. To eliminate that as a possible cause for regressions, we instead introduce a simple internal random function which just cycles through a pregenerated array. Note that this will reduce performance for all affected tests on all branches of Qt, but it will hopefully reduce the gap between Qt 5.9.0 and Qt 5.10. Task-number: QTBUG-63922 Change-Id: Ib19c11323f38b23f9705e0d77a52a8a0f1157ac3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add comparison benchmarks for disabling kerning/shapingEskil Abrahamsen Blomfeldt2017-10-233-0/+53
| | | | | | | | | Support for kerning/shaping was recently added to Qt Quick. These comparison tests shows the performance benefit from disabling them, respectively. Task-number: QTBUG-56728 Change-Id: I5a0cdf643b3f4d16980a832ecf9f79ebcad41d9b Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Add additional ShaderEffect benchmarkMichael Brasser2017-07-101-0/+26
| | | | | | | | | Custom properties on ShaderEffect can carry greater than normal cost. Explicitly test a ShaderEffect with such a property. Change-Id: Ib1344646585937f15a1c6c8b05806a4cea723994 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Add --timeout optionEskil Abrahamsen Blomfeldt2017-06-292-1/+10
| | | | | | | | | This allows you to override the default timeout of 10 minutes for cases where one of the benchmarks is exceedingly slow, but you still would like to collect the data for the others. Change-Id: Ifcfc304a21e643d938e53bfd36ddaf6df6a8d515 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* qmlbench: Fix incorrect counting in frame-count shellRobin Burchell2017-06-281-0/+1
| | | | | | | | | | | | We should not count the warmup iterations in the overall number of produced items. This seems wrong, and causes some confusion when troubleshooting a broken test. Note that a side effect of this change is that *all* results will now drop by a value of 5 after this change is introduced. Change-Id: Ib5e8a55411b663180f9d1a1a2a1df651bf0e4dc5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove "SUB: " prefix from loggingRobin Burchell2017-05-251-4/+4
| | | | | | | | This doesn't really have much point now that the split process mode has stabilized Change-Id: Ia88935b427d56ede40448d76bda7dbb261016827 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add install targets to work with boot2qt in Creator easierRobin Burchell2017-05-253-0/+14
| | | | | Change-Id: I00620d034c4d640e6f4a23ac1c890eec159067ad Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Fix partial reads of stdout/stderrRobin Burchell2017-05-251-14/+32
| | | | | | | | This had only a cosmetic effect of printing subprocess output with extra linebreaks, but since it's not hard to fix, let's do that. Change-Id: I5a81be5c29df84a5632fe2599ac31f35ae7e2f0f Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add creation benchmarks for Qt Quick Controls 2J-P Nurmi2017-05-1919-7/+294
| | | | | | Change-Id: I07e675ff8acf7741e8a299b28f170624fccbdf13 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Revert "Make delegates_item_empty_jscreation & delegates_qobject comparable"Robin Burchell2017-05-173-10/+39
| | | | | | | | | | | | | | These still weren't directly comparable (as they have different count figures), and the change has been causing significant confusion when examining results. At the same time, we introduce apparently regressed QObject array benchmark as a new test so we can track improvements in that area. This reverts commit 45da7843d6c7b70ecd37c952fd68dd84f79c23e0. Change-Id: Id76a0a3ca1bfea2ec18a88a8ffe2cca985992142 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Don't use a Timer to record the result and end the testRobin Burchell2017-05-151-18/+16
| | | | | | | | | This approach is valid, but it's essentially a coin toss as to whether onTChanged or the Timer fires first, so some tests may still tick a little too long with the Timer based approach. Change-Id: Ic0d53b60cea7cabf87cd9bd8ad13b8d8bc8727b1 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* benchmarkrunner: Delete on finished(), rather than dtorRobin Burchell2017-05-151-1/+2
| | | | | | | | | | We call quit(), but some tests may be executing QML for a bit longer, not respecting the quit flag. Tear down the engine so that the quit happens sooner. This fixes e.g. some of the animation tests running a bit longer after measurement is over. Change-Id: Ie05aff3d962d537c7f5d05a53f2de12522e9035d Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Move v8bench to manual directoryRobin Burchell2017-05-118-0/+0
| | | | | | | | | | It's too slow to be of much use as-is on TX1 (even on the cheapest possible workload, EarleyBoyer takes 3 minutes, and gives a very low result). So let's leave this for manual runs for the time being, and perhaps rethink how we run them in the future. Change-Id: I5f5eaf7443d7b55cebec670747a600ddf91c05d1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add an explanatory READMERobin Burchell2017-05-081-0/+10
| | | | | Change-Id: Ie91c6f16258b48cc9034193ff8def202e781a3b3 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add v8-bench benchmarks to qmlbenchRobin Burchell2017-05-067-0/+70
| | | | | | | | | | | We make use of the newly added V8Benchmark type to act as a harness for the tests (doing setup, running, and teardown each qmlbench iteration). We don't report the results v8-bench does, but instead, let qmlbench's shell report a result. Change-Id: Ice4a60a0ff08466ffe41cb6b596d75b86269cdbb Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add a V8Benchmark type to QmlBench importRobin Burchell2017-05-063-0/+93
| | | | | | | | | This is going to be used to run v8-bench benchmarks using qmlbench as a harness. This reverts commit 156cdf3b2ec213843f13240c160bcb25144a12c2. Change-Id: Ieae04fd9fd968ac7bc419767afbf235b67242779 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Adaptations to run v8-bench.js in qmlbenchRobin Burchell2017-05-062-13/+84
| | | | | | | | We need to prevent writes to global properties. We also stub out the BenchmarkSuite running stuff, as we will be doing that ourselves. Change-Id: I647556f3d7a4e044db68754ce1f0eb0e35874536 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add initial version of v8-benchRobin Burchell2017-05-061-0/+11591
| | | | | | | Imported from qtdeclarative/aa19268705f1a4f81ac6dcb519e217d40cefa633. Change-Id: Ieb96d2ae70dca043cd15e5a622bef3082cdd6ffd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix a tiny header mistakeRobin Burchell2017-05-041-1/+1
| | | | | Change-Id: I9120b41266be6c44e55c6fc9ec6a48e159f11840 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Ensure all tests have a simple descriptive textRobin Burchell2017-05-0436-0/+42
| | | | | Change-Id: I6df853ccac46b770de1b0a1fcafcfd764422f250 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Move test descriptions into the tests (and test dirs) themselvesRobin Burchell2017-05-0411-81/+76
| | | | | | | This scales a lot better, and is what we're doing with other tests. Change-Id: I30772db9d72dbaf1ec65e3598c334c6c40573568 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Make delegates_item_empty_jscreation & delegates_qobject comparableRobin Burchell2017-05-042-2/+9
| | | | | | | | | | | | | | | In delegates_qobject, we now use a JS array to store items in before deletion. This should make it a bit more heavy/slower. In delegates_item_empty_jscreation, we remove the redundant parenting (via 'root'), and just use the JS array. This should make it a bit lighter/faster. With these changes together, one can meaningfully get a bit of an idea of the raw impact of allocating QQuickItem vs QObject. Change-Id: I503a205760ff767b6ca8d42a2989755facaacb12 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add TestModel for benchmarks of model property accessRobin Burchell2017-05-0416-2/+529
| | | | | | | | | | | | And at the same time, introduce benchmarks for reading properties from a TestModel instance. This doesn't give us full coverage of model/view -- I'd ideally like to see row additions/removals/moves on an otherwise static ListView for instance -- but that can be done separately. Change-Id: I45e25d89eb76bbe046d7e0c2c1a23f13b6b92fab Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Shell_TotalFramesWithStaticCount: Stop running 't' ticker when reporting resultsRobin Burchell2017-05-021-1/+11
| | | | | | | | | Otherwise, due to queued signal handling, we may start processing another (useless) run when 't' ticks before the queued signal to quit kicks in. Change-Id: I52cd0311e82363cec2f60ca19a85ff653a9b68fb Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add description to changing_over_isolated_with_clip testsRobin Burchell2017-04-262-2/+15
| | | | | Change-Id: I1e6a46cc8b85f63e29b1e80de938b6c0feba48d2 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add an option to destroy the view between runsRobin Burchell2017-04-264-9/+31
| | | | | | | | Useful to determine if there's something funky going on in caching somewhere Change-Id: I359eabec3b740eff602898f71a035af169800d38 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add missing LICENSE filesRobin Burchell2017-04-252-0/+1378
| | | | | Change-Id: I8d69bb1c0f9076ff9ee84f26cbb1981d36805ddd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revert frame-count countDown changesRobin Burchell2017-04-251-3/+1
| | | | | | | | | | | This reverts commit 16c6b173d5ad7e7d946a7d8dbae8fc8eda673bb2. This reverts commit 0ecfdc41ebfabe50c816c6877192281bbf426cc8. These are complete bunk after all. We recreate the shell each iteration, so this has no impact at all. Change-Id: I1693a1d4acbc18cbe0427422b2196398c83556da Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Update README a bitRobin Burchell2017-04-251-67/+121
| | | | | | | | | * Improve formatting * Fix/remove outdated bits and pieces, and move some information like test names out of the README (since they grow stale easily). Change-Id: I70460b785f3112b47e6a4cb6cbe096e88781c2af Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* prefix properties with object idGunnar Sletta2017-04-251-1/+1
| | | | | Change-Id: Iaa99be3ef1b82aa62a2a54aa9ae55d4a71c50b8b Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Reset countDown each run of the testRobin Burchell2017-04-251-1/+3
| | | | | | | | This may contribute to some test instability, although I see no real difference locally. Change-Id: I078029e4abec08aaaf1347a2e028d38d2c43ac70 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* qmlbench: Switch to using std::cerr for output for debugRobin Burchell2017-04-244-31/+26
| | | | | | | | This way, we can enable it while still outputting json to stdout, which means we have feedback on what is going on. Change-Id: I1fd65464c410ed61077aa664789a86e84dc57d96 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* change default run mode to be 'frame-count'Gunnar Sletta2017-04-241-3/+1
| | | | | Change-Id: I424e7fd0c2b93541c37f7857a2a00cfe098b4aef Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Add benchmarks for two commonly used (and more expensive) featuresRobin Burchell2017-04-192-0/+40
| | | | | | | | The childrenRect test is quite simplistic in that it doesn't try to have a large nested hierarchy, but this is better than no coverage. Change-Id: I53a2c213925f14249f2fd9a042fc993f354a3cb0 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add another moving-images benchmarkRobin Burchell2017-04-071-0/+27
| | | | | | | | | | | | This time around, we're going totally bare-bones. A global counter is used to tick animations for everything else, no animations, no per-item script handlers or anything. Comparing the results of this with the others may help reveal where any remaining problems are now. Change-Id: Idefe7ac43d05e6b091cd0b6cb28f585c35f6138e Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* animations: Attempt to stabilizeRobin Burchell2017-04-073-62/+51
| | | | | | | | | | | | Remove Grid and sizing stuff, use the bare minimum here. Create items once, position them, and run animations repeatedly. Also remove the PauseAnimation (which in itself is hard on predictable work, which the benchmark kind of relies on) and Math.random (which makes that even more hard to predict and not easily reproduced) Change-Id: I3e74dca1ab8a302048575dcfb607cb84c2d2e822 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add a benchmark for ARGB vs RGB imagesRobin Burchell2017-04-065-0/+37
| | | | | | | These are actually treated differently, so it makes sense to test. Change-Id: Ibeea3e2003f7d425e1aa62bffd0837107cd47d9f Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add tests for antialiased and async imagesRobin Burchell2017-04-062-0/+50
| | | | | Change-Id: I91238e768cb0ce84ac63db897c059873aa4af641 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Move all item benchmarks to the item folderRobin Burchell2017-04-066-0/+0
| | | | | Change-Id: I1ee45c17afc5eec86130c54188d70c04b57335dd Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Move rectangle benchmarks to a subfolderRobin Burchell2017-04-065-2/+2
| | | | | | | | | Reasonable amount of these, so let's give them their own place. Also rename delegates_blendedrect to delegates_rect_blended so it fits the pattern. Change-Id: Ib939641de723b592b38d771e2b08c8214faf1b11 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add a benchmark covering rectangle bordersRobin Burchell2017-04-061-0/+20
| | | | | | | These are used reasonably often, and easy to test, so cover it. Change-Id: I2a1580bf9666199da8bc957191b0aa6fa96c4ead Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add a benchmark for Rectangle with a radiusRobin Burchell2017-04-063-2/+21
| | | | | | | This is a different codepath, often used, so it is a good idea to test it. Change-Id: If30922dbd24df818cd4a62c6ec2076c1ad057884 Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add simple tests for scale/transform/rotationRobin Burchell2017-04-065-0/+104
| | | | | | | | We have two variants where possible: the "complex" version, and the "simple" version. Change-Id: I57f023a4f24f355272f21c568203fc46d7f3a01a Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Add a benchmark offering a simple comparison of states vs bindingsRobin Burchell2017-04-062-0/+47
| | | | | | | | | The performance of using states is around half that of using a simple binding (which isn't too surprising given all the extra creation and allocation involved). Change-Id: I4f12819a71ef88e8f68cc83ae00b1726ca74609e Reviewed-by: Gunnar Sletta <gunnar@crimson.no>