[Development] QML instantiation performance
Gunnar Roth
gunnar.roth at gmx.de
Fri Nov 28 17:11:56 CET 2014
Hi.
on windows that is even worse as the qtdeclarative/tests/benchmarks/qml/librarymetrics_performance benchmark is crashing in many testcases. 5.2.1 runs some more cases than 5.3.2 and 5.4 beta.
the test cases which crash in 5.3.2 and 5.4 beta are:
//QTest::newRow("039) listView - with anchors and list model content with delegate") << testFileUrl("data/listview.3.qml");
// QTest::newRow("046) image - with content, async") << testFileUrl("data/image.4.qml");
// QTest::newRow("053) repeater - row - repeat simple rectangle") << testFileUrl("data/repeater.1.qml");
// QTest::newRow("054) repeater - column - repeat simple rectangle") << testFileUrl("data/repeater.2.qml");
// QTest::newRow("058) positioning - anchored positioning") << testFileUrl("data/anchoredpositioning.qml");
// QTest::newRow("059) positioning - anchored (with grid) positioning") << testFileUrl("data/anchorwithgridpositioning.qml");
// QTest::newRow("061) positioning - anchored (with binding) positioning") << testFileUrl("data/anchorwithbindingpositioning.qml");
// QTest::newRow("03) positioning - anchored positioning") << testFileUrl("data/anchoredpositioning.2.qml");
// QTest::newRow("04) positioning - anchored (with grid) positioning") << testFileUrl("data/anchorwithgridpositioning.2.qml");
// QTest::newRow("06) positioning - anchored (with binding) positioning") << testFileUrl("data/anchorwithbindingpositioning.2.qml");
// QTest::newRow("07) positioning - binding (with grid) positioning") << testFileUrl("data/bindingwithgridpositioning.2.qml");
I tried to let it run with 5.1 on windows but i am getting lots of weird warnings i dont understand:
Config: Using QtTest library 5.1.0, Qt 5.1.0
PASS : tst_librarymetrics_performance::initTestCase()
QWARN : tst_librarymetrics_performance::compilation(001) item - empty) ERROR: (file:///data/item.1.qml:3:1: Item is not a type
Item {
^)
where item.1.qml is just
importQtQuick2.0
Item{
}
i also get this for other types in the other tests. Furthermore i get:
QWARN : tst_librarymetrics_performance::instantiation_cached(007) item - uninitialised Item prop) QQmlComponent: Component is not ready
a lot.
When looking at the all the perf numbers for 5.2.1 and 5.3.2, i can see that a lot are slower in 5.3.2 but only a few faster . Comparing 5.3.2 with 5.4 some are slower some are faster.
as for 5.1.0 , getting most of the time errors i dont count the result as reliable.
As the positioner tests work for all, so here are these results
Qt 5.1.0 has
PASS : tst_librarymetrics_performance::instantiation(056) positioning - no positioning)
RESULT : tst_librarymetrics_performance::instantiation():"056) positioning - no positioning":
2,936,250 nsecs
RESULT : tst_librarymetrics_performance::instantiation():"056) positioning - no positioning":
2,936,250 nsecs
PASS : tst_librarymetrics_performance::instantiation(057) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::instantiation():"057) positioning - absolute positioning":
3,101,814 nsecs
RESULT : tst_librarymetrics_performance::instantiation():"057) positioning - absolute positioning":
3,101,814 nsecs
PASS : tst_librarymetrics_performance::instantiation(060) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::instantiation():"060) positioning - binding positioning":
3,054,007 nsecs
RESULT : tst_librarymetrics_performance::instantiation():"060) positioning - binding positioning":
3,054,007 nsecs
PASS : tst_librarymetrics_performance::instantiation(062) positioning - binding (with grid) positioning)
RESULT : tst_librarymetrics_performance::instantiation():"062) positioning - binding (with grid) positioning":
2,984,185 nsecs
RESULT : tst_librarymetrics_performance::instantiation():"062) positioning - binding (with grid) positioning":
2,984,185 nsecs
PASS : tst_librarymetrics_performance::positioners(01) positioning - no positioning)
RESULT : tst_librarymetrics_performance::positioners():"01) positioning - no positioning":
2,958,458 nsecs
RESULT : tst_librarymetrics_performance::positioners():"01) positioning - no positioning":
2,958,458 nsecs
PASS : tst_librarymetrics_performance::positioners(02) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::positioners():"02) positioning - absolute positioning":
3,096,950 nsecs
RESULT : tst_librarymetrics_performance::positioners():"02) positioning - absolute positioning":
3,096,950 nsecs
PASS : tst_librarymetrics_performance::positioners(05) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::positioners():"05) positioning - binding positioning":
3,085,942 nsecs
Qt 5.2.1 has much slower results:
PASS : tst_librarymetrics_performance::instantiation(056) positioning - no positioning)
RESULT : tst_librarymetrics_performance::instantiation():"056) positioning - no positioning":
9,190,951 nsecs
PASS : tst_librarymetrics_performance::instantiation(057) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::instantiation():"057) positioning - absolute positioning":
9,904,790 nsecs
PASS : tst_librarymetrics_performance::instantiation(060) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::instantiation():"060) positioning - binding positioning":
11,098,362 nsecs
PASS : tst_librarymetrics_performance::instantiation(062) positioning - binding (with grid) positioning)
RESULT : tst_librarymetrics_performance::instantiation():"062) positioning - binding (with grid) positioning":
11,427,314 nsecs
PASS : tst_librarymetrics_performance::positioners(01) positioning - no positioning)
RESULT : tst_librarymetrics_performance::positioners():"01) positioning - no positioning":
13,258,183 nsecs
PASS : tst_librarymetrics_performance::positioners(02) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::positioners():"02) positioning - absolute positioning":
52,944,352 nsecs
PASS : tst_librarymetrics_performance::positioners(05) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::positioners():"05) positioning - binding positioning":
117,415,282 nsecs
Qt 5.3.2 is even slower:
PASS : tst_librarymetrics_performance::instantiation(056) positioning - no positioning)
RESULT : tst_librarymetrics_performance::instantiation():"056) positioning - no positioning":
9,141,288 nsecs
PASS : tst_librarymetrics_performance::instantiation(057) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::instantiation():"057) positioning - absolute positioning":
10,591,046 nsecs
PASS : tst_librarymetrics_performance::instantiation(060) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::instantiation():"060) positioning - binding positioning":
12,113,250 nsecs
PASS : tst_librarymetrics_performance::instantiation(062) positioning - binding (with grid) positioning)
RESULT : tst_librarymetrics_performance::instantiation():"062) positioning - binding (with grid) positioning":
12,440,730 nsecs
PASS : tst_librarymetrics_performance::positioners(01) positioning - no positioning)
RESULT : tst_librarymetrics_performance::positioners():"01) positioning - no positioning":
12,882,640 nsecs
PASS : tst_librarymetrics_performance::positioners(02) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::positioners():"02) positioning - absolute positioning":
53,370,390 nsecs
PASS : tst_librarymetrics_performance::positioners(05) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::positioners():"05) positioning - binding positioning":
168,676,730 nsecs
And Qt 5.4 is even more slower:
PASS : tst_librarymetrics_performance::instantiation(056) positioning - no positioning)
RESULT : tst_librarymetrics_performance::instantiation():"056) positioning - no positioning":
9,970,004 nsecs
PASS : tst_librarymetrics_performance::instantiation(057) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::instantiation():"057) positioning - absolute positioning":
10,513,544 nsecs
PASS : tst_librarymetrics_performance::instantiation(060) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::instantiation():"060) positioning - binding positioning":
12,005,796 nsecs
PASS : tst_librarymetrics_performance::instantiation(062) positioning - binding (with grid) positioning)
RESULT : tst_librarymetrics_performance::instantiation():"062) positioning - binding (with grid) positioning":
11,615,469 nsecs
PASS : tst_librarymetrics_performance::positioners(01) positioning - no positioning)
RESULT : tst_librarymetrics_performance::positioners():"01) positioning - no positioning":
16,094,852 nsecs
PASS : tst_librarymetrics_performance::positioners(02) positioning - absolute positioning)
RESULT : tst_librarymetrics_performance::positioners():"02) positioning - absolute positioning":
59,727,488 nsecs
PASS : tst_librarymetrics_performance::positioners(05) positioning - binding positioning)
RESULT : tst_librarymetrics_performance::positioners():"05) positioning - binding positioning":
208,747,723 nsecs
Regards,
Gunnar
More information about the Development
mailing list